lambda-ml.nearest-neighbors

Classification and regression using the k-nearest neighbors algorithm.

Example usage:

(def data [[2 3] [5 4] [9 6] [4 7] [8 1] [7 2]])
(def fit
  (let [k 1]
    (-> (make-nearest-neighbors-regressor k lambda-ml.distance/euclidean)
        (nearest-neighbors-fit data))))
(nearest-neighbors-predict fit (map butlast data))

insert

(insert v value priority bound)

item-priority

(item-priority item)

item-value

(item-value item)

make-item

(make-item value priority)

make-nearest-neighbors-classifier

(make-nearest-neighbors-classifier k dist)

Returns a k-nearest neighbor classification model using the given distance function.

make-nearest-neighbors-regressor

(make-nearest-neighbors-regressor k dist)

Returns a k-nearest neighbor regression model using the given distance function.

nearest-neighbors-fit

(nearest-neighbors-fit model data)(nearest-neighbors-fit model x y)

Fits a k-nearest neighbors model to the given training data.

nearest-neighbors-predict

(nearest-neighbors-predict model x)

Predicts the values of example data using a k-nearest neighbors model.