2014-02-07 94 views
0

比方说,我有一些数据,数组的数组或数据帧,如:Refiguring K-均值聚类指标分析

In [4]: df 
Out[4]: 
    a b c d 
0 1 0 1 2 
1 0 1 0 3 
2 0 0 0 4 

制作了一段K-意味着它集群,像这样:

centroids, _ = cluster.vq.kmeans(rep.values, nb_clusters, iter=100) 
idx, _ = cluster.vq.vq(rep.values, centroids) 

我得到了两个对我有意义的集群。但是,我想知道一种方法来了解K-means如何/为何到达此群集,例如。 哪个特征a,b,c,d与分离簇最相关,等等。

有没有人知道一种方法来做到这一点?或寻找一种方法来做到这一点?在蟒蛇,或更理论?

在此先感谢您考虑我的问题。

回答

1

K-means不处理任何特殊的变量。

相反,它对规模非常敏感。重新缩放数据(每个维度的缩放比例不同),结果可能会发生显着变化。

如果你想有一个决策树样的解释,列车上的集群决策树 - K-手段不能提供这一点,但没有什么能阻止你从分析聚类结果...其实,你应该总是仔细分析一个聚类结果,因为实际上它经常和随机划分一样好。因此,在您的实验设置中始终包括“随机voronoi细胞分区”,以确保您实际上有一些改进。