【发布时间】:2017-12-08 12:10:34
【问题描述】:
我有 688 个数据点的 157 维数据。使用我想执行聚类的数据。
由于 K-Means 是最简单的算法,我决定从这种方法开始。
这里是 Sklearn 函数调用:
KMeans(init='k-means++', n_clusters=4, n_init=10), name="k-means++", data=sales)
以下是一些输出指标:
init time inertia homo compl v-meas ARI AMI num_clusters
k-means++ 0.06s 38967 0.262 0.816 0.397 0.297 0.250 4
k-means++ 0.05s 29825 0.321 0.847 0.466 0.338 0.306 6
k-means++ 0.07s 23131 0.411 0.836 0.551 0.430 0.393 8
k-means++ 0.09s 20566 0.636 0.817 0.715 0.788 0.621 10
k-means++ 0.09s 18695 0.534 0.794 0.638 0.568 0.513 12
k-means++ 0.11s 16805 0.773 0.852 0.810 0.916 0.760 14
k-means++ 0.11s 15297 0.822 0.775 0.798 0.811 0.761 16
有人可以帮我解释一下吗?
我知道inertia 和homogeneity 得分低是好的,但我不知道这些的好阈值是多少。
例如,15297 是我收到的最低 inertia,但是当 K-clusters 设置为 16 时会发生这种情况。这是好是坏?
可用的缩写:
homo = 同质性分数;
compl = 完整性分数;
v_meas = v-测量分数;
ARI = 调整后的兰德分数;
AMI = 调整后的相互信息。
【问题讨论】:
-
您需要阅读有关所有这些措施的文献。例如,如果您设置 k=688,则惯性将为 0。但这不会是一个好结果,不是吗?但是这个问题太宽泛了,在这里无法回答,抱歉。
标签: scikit-learn cluster-analysis k-means unsupervised-learning