kmeansGo 的現(xiàn)用 Kmeans 算法包
kmeans 算法,即k 均值聚類算法(k-means clustering algorithm),是一種迭代求解的聚類分析算法。其步驟是,預(yù)將數(shù)據(jù)分為 K 組,則隨機(jī)選取 K 個對象作為初始的聚類中心,然后計算每個對象與各個種子聚類中心之間的距離,把每個對象分配給距離它最近的聚類中心。聚類中心以及分配給它們的對象就代表一個聚類。每分配一個樣本,聚類的聚類中心會根據(jù)聚類中現(xiàn)有的對象被重新計算。這個過程將不斷重復(fù)直到滿足某個終止條件。終止條件可以是沒有(或最小數(shù)目)對象被重新分配給不同的聚類,沒有(或最小數(shù)目)聚類中心再發(fā)生變化,誤差平方和局部最小。
kmeans,Go 的現(xiàn)用 Kmeans 算法包:
package mainimport (
"fmt"
"github.com/salkj/kmeans")
func main() {
data := []kmeans.Point{}
data = append(data, kmeans.Point{[]float64{1.0,3.0,5.0,2.0}})
data = append(data, kmeans.Point{[]float64{43.0,7.0,12.0,7.0}})
data = append(data, kmeans.Point{[]float64{2.0,12.0,5.0,8.0}})
data = append(data, kmeans.Point{[]float64{12.0,1945.0,34.0,65.0}})
fmt.Println(kmeans.KMEANS(data, 2, 0.001))
}評論
圖片
表情
