$ cat README.md
project_03
Customer Segmentation
Unsupervised Learning • K-Means
## Project Objective
Develop an unsupervised learning system capable of automatically grouping customers based on purchasing behaviour and demographic information.
The objective is to discover meaningful customer segments that support data-driven marketing and business decision making.
## Dataset
The project uses customer demographic and spending behaviour data containing information such as age, annual income, and spending score.
The data was prepared and standardized before training the clustering model.
## Data Preparation
- ✓Explored customer attributes
- ✓Removed unnecessary features
- ✓Handled missing values
- ✓Scaled numerical variables
- ✓Prepared clustering dataset
## Model Development
K-Means Clustering was selected to identify naturally occurring customer groups.
The Elbow Method and Silhouette Score were used to evaluate the quality of clustering.
## Model Performance
- ✓Algorithm: K-Means
- ✓Five customer clusters
- ✓Silhouette Score: 0.554
- ✓Interactive cluster visualization
## Application Features
- ✓Interactive cluster visualization
- ✓Customer segment prediction
- ✓Business recommendations
- ✓Cluster statistics dashboard
- ✓CSV upload support
- ✓Interactive charts
## Deployment
The trained clustering model was deployed through Streamlit for interactive customer segmentation and visualization.
## Key Learnings
- ✓Unsupervised learning
- ✓Feature scaling
- ✓K-Means clustering
- ✓Elbow Method
- ✓Silhouette Analysis
- ✓Business interpretation of clusters
## Future Improvements
- ✓DBSCAN comparison
- ✓Hierarchical clustering
- ✓Automatic cluster selection
- ✓Interactive reporting
- ✓Deployment with FastAPI
## Tech Stack
requirements.txt
PythonPandasNumPyScikit-learnK-MeansPlotlyStreamlitJoblib## Completion Date
1 August 2026