Implement KNN classifier, experiment with different K values, evaluate model, and visualize decision boundaries.
- Place your CSV dataset inside the
data/
folder. - By default, if no dataset is provided, the script uses the Iris dataset from scikit-learn.
- Train/Test split
- Data normalization
- KNN training with multiple K values
- Accuracy and confusion matrix evaluation
- Decision boundary visualization (2D)
- Best K selection
knn_classification_project/
│
├── data/ # Place dataset.csv here
├── outputs/ # Generated plots & metrics
├── src/ # Python code
│ └── knn_model.py
├── README.md
└── requirements.txt
- Create virtual environment (optional but recommended):
python -m venv venv
venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Run script (default dataset):
python src/knn_model.py
- Run script with your own dataset:
python src/knn_model.py --csv data/your_dataset.csv --target target_column_name --features col1 col2
Note: Decision boundary visualization works only if you specify exactly 2 features.
outputs/accuracy_vs_k.png
outputs/confusion_matrix.png
outputs/decision_boundary.png
(if 2D features)outputs/metrics.json