You are given two CSV files for a three-class leaf-classification task.
-
train.csv
contains three numeric feature columns:
feature_0
,
feature_1
, and
feature_2
, plus a class label column.
-
unlabeled.csv
contains the same three feature columns but no labels.
Complete the task in a Jupyter notebook:
-
Load and inspect the labeled dataset.
-
Split the labeled data into training and testing sets.
-
Implement a K-nearest neighbors classifier from scratch. You may use standard data-processing libraries, but the KNN prediction logic should be your own implementation.
-
Train the classifier and evaluate its accuracy on the held-out test set.
-
Tune hyperparameters, especially the value of
k
, and try to improve accuracy. You may use cross-validation.
-
Use the final model to predict labels for
unlabeled.csv
.
-
Write the predictions to an output CSV file.