2012-07-17 43 views
1

为了得到畸变函数(每个点到它中心的距离之和),K表示通过Scikit-Learn进行聚类,一种简单的方法就是获取中心(k_means.cluster_centers_)和总结每个点的距离。K的失真函数Scikit-Learn的平均值

想知道是否有更快的方法吗? (就程序员而言)类似于直接函数调用等等。

+0

我猜是有的,因为获得聚类中心意味着总结距离。 – 2012-07-17 19:48:55

回答

2

这已在类的inertia_属性中的fit时间处预先计算。

>>> from sklearn.datasets import load_iris 
>>> from sklearn.cluster import KMeans 
>>> iris = load_iris() 
>>> km = KMeans(3).fit(iris.data) 
>>> km.inertia_ 
78.940841426146108 
+1

也检查簇大小,'np.bincount(km.labels_)' - 如果它们严重不平衡,则说明存在问题。 (你有多少个集群?) – denis 2012-07-20 09:36:14