knn

package
v0.0.0-...-07485b6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 26, 2015 License: MIT Imports: 9 Imported by: 0

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
	NearestNeighbours  int
	AllowOptimisations bool
}

A KNNClassifier consists of a data matrix, associated labels in the same order as the matrix, and a distance function. The accepted distance functions at this time are 'euclidean' and 'manhattan'. Optimisations only occur when things are identically group into identical AttributeGroups, which don't include the class variable, in the same order.

func NewKnnClassifier

func NewKnnClassifier(distfunc string, neighbours int) *KNNClassifier

NewKnnClassifier returns a new classifier

func (*KNNClassifier) Fit

func (KNN *KNNClassifier) Fit(trainingData base.FixedDataGrid)

Fit stores the training data for later

func (*KNNClassifier) Predict

func (KNN *KNNClassifier) Predict(what base.FixedDataGrid) base.FixedDataGrid

Predict returns a classification for the vector, based on a vector input, using the KNN algorithm.

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.

func (*KNNRegressor) Fit

func (KNN *KNNRegressor) Fit(values []float64, numbers []float64, rows int, cols int)

func (*KNNRegressor) Predict

func (KNN *KNNRegressor) Predict(vector *mat64.Dense, K int) float64

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL