K-Nearest Neighbors
K-Nearest Neighbors
Implement a K-nearest neighbors classifier from scratch.
Functions to implement
1. euclidean_distance(a, b)
Compute distance between two vectors.
2. get_neighbors(X_train, y_train, x_query, k)
Find k nearest neighbors.
- Input: Training data, training labels, query point, k
- Output: List of (distance, label) tuples for k nearest
3. predict_single(X_train, y_train, x_query, k)
Predict label for a single query point.
- Returns most common label among k neighbors
4. predict(X_train, y_train, X_test, k)
Predict labels for multiple test points.
Examples
X_train = [[0, 0], [1, 1], [2, 2], [3, 3]]
y_train = [0, 0, 1, 1]
X_test = [[1.5, 1.5]]
predict(X_train, y_train, X_test, k=3) # [1]
Run tests to see results
No issues detected