KNN Happiness Classifier Comparison

This project compares different K-Nearest Neighbors (KNN) classifiers to predict happiness based on city and community factors.

Features

  • Custom KNN with Euclidean and Manhattan distances
  • Comparison with scikit-learn's KNN
  • Data visualization and model evaluation
  • Cross-validation

Key Components

  1. Data Preprocessing: Load and prepare 'HappinessData-1.csv'.
  2. Custom KNN: Implement KNN with Euclidean and Manhattan distances.
  3. Visualization: Plot elbow curves for optimal K selection.
  4. Evaluation: Compare custom KNN with scikit-learn KNN using metrics and execution time.
  5. Cross-Validation: Perform 10-fold cross-validation.

Dependencies

pandas, numpy, matplotlib, seaborn, scikit-learn

Usage

Run the Jupyter notebook knn-classifier-comparison.ipynb.