【发布时间】:2016-11-16 05:54:48
【问题描述】:
如果我已经有一个可以用作初始质心的 numpy 数组,我该如何正确初始化 kmeans 算法?我正在使用 scikit-learn Kmeans 类
这篇文章 (k-means with selected initial centers) 表明如果我使用 numpy 数组作为初始质心,我只需要设置 n_init=1 但我不确定我的初始化是否正常工作
Naftali Harris 出色的可视化页面展示了我正在尝试做的事情 http://www.naftaliharris.com/blog/visualizing-k-means-clustering/
"我会选择" --> "Packed Circles" --> 运行 kmeans
#numpy array of initial centroids
startpts=np.array([[-0.12, 0.939, 0.321, 0.011], [0.0, 0.874, -0.486, 0.862], [0.0, 1.0, 0.0, 0.033], [0.12, 0.939, 0.321, -0.7], [0.0, 1.0, 0.0, -0.203], [0.12, 0.939, -0.321, 0.25], [0.0, 0.874, 0.486, -0.575], [-0.12, 0.939, -0.321, 0.961]], np.float64)
centroids= sk.KMeans(n_clusters=8, init=startpts, n_init=1)
centroids.fit(actual_data_points)
#get the array
centroids_array=centroids.cluster_centers_
【问题讨论】:
标签: python scikit-learn cluster-analysis k-means