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