Clustering Countries with Demographic Indicators
This project groups countries into demographic clusters using fertility, mortality and life expectancy indicators. The goal is to explore whether countries naturally form meaningful groups based on these indicators.
- Load and clean the dataset using DataProcessor
- Create new features using FeatureEngineer
- Scale selected features for clustering
- Use PCA to reduce dimensionality for visualization
- Apply K-Means clustering and choose the best number of clusters
- Evaluate cluster quality using silhouette score, Calinski Harabasz index and Davies Bouldin index
- Apply hierarchical clustering and plot a dendrogram
- Save final cluster assignments
- src/data_processor.py
- src/feature_engineer.py
- src/cluster_modeler.py
- src/evaluator.py
- notebooks/clustering_analysis.ipynb
- results/clusters.csv
Open the notebook clustering_analysis.ipynb and run all cells in order.