2016-10-28 3 views
5

私はクラスタリングのためにscikit learn(k-means)を使っています。 verboseオプションを指定してコードを実行すると、繰り返しごとに慣性が表示されます。scikit-learnを使って各k-meansクラスタの慣性値を得る方法?

アルゴリズムが完了したら、各形成されたクラスター(k慣性値)の慣性を取得したいと思います。それをどうすれば実現できますか?

答えて

0

からhttp://scikit-learn.org/stable/modules/clustering.html#k-means K平均アルゴリズムは、慣性またはクラスターの二乗基準を最小にする重心を選択することを目的としています。

したがって、kmeansの繰り返しごとに1つの慣性値しかありません。 kセントロイド値を取得しようとしていますか?

from sklearn import datasets 
from sklearn.cluster import KMeans 
iris = datasets.load_iris() 
X = iris.data 
Y = iris.target 

kmeans = KMeans(n_clusters=3, random_state=0,verbose=0).fit(X) 
print(kmeans.inertia_) 
print(kmeans.cluster_centers_) #Each row is one centroid, so 3 clusters and 3 centroids 
+1

ええと、各重心の慣性を取得したいと思います。しかし、私はそれのための機能に組み込まれていないと思う。 – diugalde

+0

Rには「withinss」と呼ばれるものがあります。 Pythonで簡単に記述できます。 – user3476359

関連する問題