mirror of
https://github.com/sjwhitworth/golearn.git
synced 2025-04-28 13:48:56 +08:00
31 lines
787 B
Go
31 lines
787 B
Go
package main
|
|
|
|
import (
|
|
mat "github.com/skelterjohn/go.matrix"
|
|
base "golearn/base"
|
|
util "golearn/utilities"
|
|
knnclass "golearn/knn"
|
|
"fmt"
|
|
)
|
|
|
|
func main(){
|
|
//Parses the infamous Iris data.
|
|
cols, rows, _, labels, data := base.ParseCsv("datasets/randomdata.csv", 2, []int{0,1})
|
|
newlabels := util.ConvertLabelsToFloat(labels)
|
|
|
|
//Initialises a new KNN classifier
|
|
knn := knnclass.KNNRegressor{}
|
|
knn.New("Testing", newlabels, data, rows, cols)
|
|
|
|
for {
|
|
//Creates a random array of N float64s between 0 and Y
|
|
randArray := util.RandomArray(2, 100)
|
|
|
|
//Initialises a vector with this array
|
|
random := mat.MakeDenseMatrix(randArray,1,2)
|
|
|
|
//Calculates the Euclidean distance and returns the most popular label
|
|
outcome, _ := knn.Predict(random, 3)
|
|
fmt.Println(outcome)
|
|
}
|
|
} |