10
pam.go
10
pam.go
@@ -52,12 +52,10 @@ func minDistance2Mat(vec []float64, mat [][]float64) float64 {
|
||||
t += math.Pow(vec[v]-mat[m][v], 2)
|
||||
}
|
||||
t = math.Sqrt(t)
|
||||
//log.Println("当前距离", t)
|
||||
if t < r {
|
||||
r = t
|
||||
}
|
||||
}
|
||||
//log.Println("最小距离", r)
|
||||
return r
|
||||
}
|
||||
|
||||
@@ -79,7 +77,6 @@ func min2minDistance(vec []float64, mat [][]float64) (min float64, min2 float64)
|
||||
t += math.Pow(vec[v]-mat[m][v], 2)
|
||||
}
|
||||
t = math.Sqrt(t)
|
||||
//log.Println("当前距离", t)
|
||||
if t < r {
|
||||
r2 = r
|
||||
r = t
|
||||
@@ -88,10 +85,8 @@ func min2minDistance(vec []float64, mat [][]float64) (min float64, min2 float64)
|
||||
}
|
||||
|
||||
}
|
||||
//log.Println("最小距离", r)
|
||||
min = r
|
||||
min2 = r2
|
||||
//log.Println("r r2 t", r, r2, t)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -106,8 +101,6 @@ func subDataMap(set map[int]interface{}, ctx *Ctx) [][]float64 {
|
||||
}
|
||||
|
||||
func subDataInt(i int, ctx *Ctx) []float64 {
|
||||
//r := make([][]float64, 1)
|
||||
//r[0] = ctx.data[i]
|
||||
return ctx.data[i]
|
||||
}
|
||||
|
||||
@@ -228,7 +221,6 @@ func swap(ctx *Ctx) {
|
||||
log.Fatalln("Input must be a string")
|
||||
}
|
||||
sumKjih += Kjih
|
||||
//log.Println(Kjih)
|
||||
|
||||
}
|
||||
if sumKjih < minKjih {
|
||||
@@ -254,6 +246,7 @@ func swap(ctx *Ctx) {
|
||||
}
|
||||
|
||||
func main() {
|
||||
sT := time.Now()
|
||||
ctx := Ctx{}
|
||||
ctx.data = initData()
|
||||
ctx.SetS = make(map[int]interface{})
|
||||
@@ -261,5 +254,6 @@ func main() {
|
||||
ctx.SetS[2] = nil
|
||||
selectInitCluster(&ctx)
|
||||
swap(&ctx)
|
||||
fmt.Println("Elapse: ", time.Since(sT).Seconds())
|
||||
fmt.Println("Hello World!")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user