parent
c9e4c13590
commit
7b0a5f7af2
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!")
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue