arnaucube
arnaucube/goKNNPublic Self-hosted repository
dist min
arnaucode idoctnef@openmailbox.org
Sat, 17 Jun 2017 03:03:29 +0200
commit

ed3b7e92b9e04b9d39e75024cbb233bbc0c013d6

parent

1c7156d006123347c5f6c791d19d0be33689025b

2 files changed, 14 insertions(+), 8 deletions(-)

jump to
M euclideanDistance.go → euclideanDistance.go

@@ -34,18 +34,18 @@ return r

} func getShortestDistance(dist [][][]float64) [][]float64 { - min := dist[0][2] + //dist contains: [[datasetLine], [datasetLineResult], [distanceWithInput]] + minDist := dist[0][2] max := dist[0][2] var datasetNearResult [][]float64 for i := 0; i < len(dist); i++ { - //fmt.Println(dist[i][1]) + //fmt.Println(dist[i]) if dist[i][2][0] > max[0] { max = dist[i][0] } - /*fmt.Println(min[0]) - fmt.Println(dist[i][1][0])*/ - if dist[i][2][0] < min[0] { - min = dist[i][0] + //fmt.Println(dist[i][2][0]) + if dist[i][2][0] < minDist[0] { + minDist = dist[i][2] datasetNearResult = dist[i] } //fmt.Println(dist[i][1])
M main.go → main.go

@@ -1,6 +1,9 @@

package main -import "fmt" +import ( + "fmt" + "strconv" +) func main() { dataset := readDataset("datasets/poker/poker-hand-training-true.data", "\n", ",")

@@ -9,11 +12,14 @@ inputs := readInputs("datasets/prova.data", "\n", ",")

//fmt.Println(inputs) var datasetDistances [][][]float64 - for _, input := range inputs { + for k, input := range inputs { datasetDistances = euclideanDistance(dataset, input) r := getShortestDistance(datasetDistances) + fmt.Println("iteration " + strconv.Itoa(k)) fmt.Println(input) fmt.Println(r) + fmt.Print("result: ") fmt.Println(r[1]) + fmt.Println("---") } }