This project compares different K-Nearest Neighbors (KNN) classifiers to predict happiness based on city and community factors.
- Custom KNN with Euclidean and Manhattan distances
- Comparison with scikit-learn's KNN
- Data visualization and model evaluation
- Cross-validation
- Data Preprocessing: Load and prepare 'HappinessData-1.csv'.
- Custom KNN: Implement KNN with Euclidean and Manhattan distances.
- Visualization: Plot elbow curves for optimal K selection.
- Evaluation: Compare custom KNN with scikit-learn KNN using metrics and execution time.
- Cross-Validation: Perform 10-fold cross-validation.
pandas, numpy, matplotlib, seaborn, scikit-learn
Run the Jupyter notebook knn-classifier-comparison.ipynb
.