scikit-learn KMeans によって返される「スコア」を理解する 質問する

scikit-learn KMeans によって返される「スコア」を理解する 質問する

テキスト文書のセット(約100)にクラスタリングを適用しました。それらををTfidf使用してベクトルに変換しTfIdfVectorizer、そのベクトルを の入力として提供しましたscikitlearn.cluster.KMeans(n_clusters=2, init='k-means++', max_iter=100, n_init=10)

model.fit()
print model.score()

私のベクトルでは、すべてのテキスト ドキュメントが非常に類似している場合は非常に小さな値が得られ、ドキュメントが非常に異なる場合は非常に大きな負の値が得られます。

これは、どのドキュメント セットが類似しているかを見つけるという基本的な目的に役立ちますが、このmodel.score()値が適合性に対して正確に何を意味するのかを理解できる人はいますか? この値を使用して、調査結果を正当化するにはどうすればよいですか?

ベストアンサー1

ドキュメントで選択された単語は少しわかりにくいです。「K-means 目的関数の X の値の反対。「これは、K 平均法の目的関数の負を意味します。」

K平均法の目的

K 平均法の目的は、各クラスターの重心からの点までの距離の二乗和を減らすことです。これは、J 二乗誤差関数、J スコア、クラスター内二乗和などとも呼ばれます。この値は、クラスターが内部的にどの程度一貫性があるかを示します (小さいほど良い)。

目的関数は以下の方法で直接得ることができます。

model.inertia_

おすすめ記事