0
私はscikit-learn k-meansアルゴリズムを実行し、結果の重心を得ました。私は新しい文書を持っています(最初のコレクションにはありませんでした)、どの重心を置くべきかを知るために、すべての重心と新しい文書との間の距離を計算したいと思います。ドキュメントと各重心(k-means)の距離の計算方法は?
これを達成するための機能が組み込まれているのですか、または類似機能を手動で書き込むべきですか?
私はscikit-learn k-meansアルゴリズムを実行し、結果の重心を得ました。私は新しい文書を持っています(最初のコレクションにはありませんでした)、どの重心を置くべきかを知るために、すべての重心と新しい文書との間の距離を計算したいと思います。ドキュメントと各重心(k-means)の距離の計算方法は?
これを達成するための機能が組み込まれているのですか、または類似機能を手動で書き込むべきですか?
あなたはX
行列に各サンプルの最も近いクラスタを取得する方法predict
を使用することができます。
from sklearn.cluster import KMeans
model = KMeans(n_clusters=K)
model.fit(X_train)
label = model.predict(X_test)
私は別の質問を持っているが、X_test疎行列がX_trainと同じ次元を持つ必要がありますか?私はTF-IDFの正規化を使用しているのでこれを尋ねるので、X_testマトリックスを生成するためにX_trainの機能を考慮する必要があります。 – diugalde
同じ数のサンプルを持つ必要がありますが、サンプル数は必ずしも同じではありません。 –
私は参照してください。だから、新しいサンプルを最初の辞書に追加し、vectorizer.fit_transform()をもう一度使って、予測メソッドに必要な行だけを渡す必要があります。 – diugalde