Documentation
¶
Overview ¶
Package knn implements a K Nearest Neighbors object, capable of both classification and regression. It accepts data in the form of a slice of float64s, which are then reshaped into a X by Y matrix.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type KNNClassifier ¶
type KNNClassifier struct { base.BaseEstimator TrainingData base.FixedDataGrid DistanceFunc string Algorithm string NearestNeighbours int AllowOptimisations bool Weighted bool }
A KNNClassifier consists of a data matrix, associated labels in the same order as the matrix, searching algorithm, and a distance function. The accepted distance functions at this time are 'euclidean', 'manhattan', and 'cosine'. The accepted searching algorithm here are 'linear', and 'kdtree'. Optimisations only occur when things are identically group into identical AttributeGroups, which don't include the class variable, in the same order. Using weighted KNN when Weighted set to be true (default: false).
func NewKnnClassifier ¶
func NewKnnClassifier(distfunc, algorithm string, neighbours int) *KNNClassifier
NewKnnClassifier returns a new classifier
func (*KNNClassifier) Fit ¶
func (KNN *KNNClassifier) Fit(trainingData base.FixedDataGrid) error
Fit stores the training data for later
func (*KNNClassifier) Predict ¶
func (KNN *KNNClassifier) Predict(what base.FixedDataGrid) (base.FixedDataGrid, error)
Predict returns a classification for the vector, based on a vector input, using the KNN algorithm.
func (*KNNClassifier) String ¶
func (KNN *KNNClassifier) String() string
type KNNRegressor ¶
type KNNRegressor struct { base.BaseEstimator Values []float64 DistanceFunc string }
A KNNRegressor consists of a data matrix, associated result variables in the same order as the matrix, and a name.
func NewKnnRegressor ¶
func NewKnnRegressor(distfunc string) *KNNRegressor
NewKnnRegressor mints a new classifier.