Assignment: Introduction to Customer
Segmentation in Python
Objective:
The objective of this assignment is to understand and implement customer segmentation using
clustering techniques in Python. Students will perform data preprocessing, exploratory data
analysis, clustering, and build a simple user interface.
Tasks:
• 1. Dataset Selection: Use the Mall Customers dataset or any similar customer dataset.
• 2. Data Preprocessing: Handle missing values, encode categorical variables, and apply feature
scaling.
• 3. Exploratory Data Analysis (EDA): Visualize distributions and relationships between income
and spending score.
• 4. Implement K-Means Clustering using sklearn.
• 5. Determine the optimal number of clusters using the Elbow Method.
• 6. Visualize the final clusters using scatter plots.
• 7. Interpret each cluster and provide business insights.
• 8. Develop a simple Streamlit UI to upload dataset and display clustering results.
• 9. Submit source code, screenshots of UI, and a short report explaining findings.
Deliverables:
• • Python source code (.py files)
• • Streamlit application file ([Link])
• • PDF report (3–5 pages) including screenshots and cluster interpretation
• • Dataset used in the project
Evaluation Criteria:
• Data preprocessing and correctness (20%)
• Implementation of clustering algorithm (20%)
• Visualization and interpretation (20%)
• UI functionality and usability (20%)
• Report clarity and presentation (20%)
Submission Details:
Deadline: ____________ Submit via: Google Classroom / LMS / Email Late submissions may result
in grade deduction as per institute policy.