K-Nearest Neighbors

K-Nearest Neighbors (KNN) is an instance-based learning algorithm that makes predictions based on the k nearest training examples.

KNN Classifier

class lostml.neighbors.knn.KNN(n_neighbors=5, metric='euclidean')[source]

Bases: _BaseNeighbors

__init__(n_neighbors=5, metric='euclidean')[source]
predict(X)[source]

Predict class labels for samples in X.

Parameters:

X (array-like of shape (n_samples, n_features)) – Test samples

Returns:

Predicted class labels

Return type:

ndarray of shape (n_samples,)

Examples

Basic Classification

from lostml.neighbors import KNN
import numpy as np

X_train = np.array([[1, 2], [2, 3], [3, 4], [5, 6]])
y_train = np.array([0, 0, 1, 1])

knn = KNN(n_neighbors=3)
knn.fit(X_train, y_train)
predictions = knn.predict(np.array([[2.5, 3.5]]))

Using Different Metrics

# Euclidean distance (default)
knn = KNN(n_neighbors=5, metric='euclidean')

# Manhattan distance
knn = KNN(n_neighbors=5, metric='manhattan')