kmeansGo 的现用 Kmeans 算法包

联合创作 · 2023-09-30 16:16

kmeans 算法,即k 均值聚类算法(k-means clustering algorithm),是一种迭代求解的聚类分析算法。其步骤是,预将数据分为 K 组,则随机选取 K 个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。

kmeans,Go 的现用 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))
}
浏览 8
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报