0

私はscikit-learn k-meansアルゴリズムを実行し、結果の重心を得ました。私は新しい文書を持っています(最初のコレクションにはありませんでした)、どの重心を置くべきかを知るために、すべての重心と新しい文書との間の距離を計算したいと思います。ドキュメントと各重心(k-means)の距離の計算方法は?

これを達成するための機能が組み込まれているのですか、または類似機能を手動で書き込むべきですか?

答えて

1

あなたはX行列に各サンプルの最も近いクラスタを取得する方法predictを使用することができます。

from sklearn.cluster import KMeans 

model = KMeans(n_clusters=K) 
model.fit(X_train) 
label = model.predict(X_test) 
+0

私は別の質問を持っているが、X_test疎行列がX_trainと同じ次元を持つ必要がありますか?私はTF-IDFの正規化を使用しているのでこれを尋ねるので、X_testマトリックスを生成するためにX_trainの機能を考慮する必要があります。 – diugalde

+0

同じ数のサンプルを持つ必要がありますが、サンプル数は必ずしも同じではありません。 –

+0

私は参照してください。だから、新しいサンプルを最初の辞書に追加し、vectorizer.fit_transform()をもう一度使って、予測メソッドに必要な行だけを渡す必要があります。 – diugalde