11

を使用していくつかのテキスト ドキュメントをクラスター化しようとしていますscikit-learn。DBSCAN と MeanShift の両方を試しており、使用しているデータの種類 (ニュース記事) に最適なbandwidthハイパーパラメーター (MeanShift とDBSCAN など) を特定したいと考えています。eps

事前にラベル付けされたクラスターで構成されるテスト データがいくつかあります。を使用しようとしてきましscikit-learnGridSearchCVが、テストデータを分割する必要があるため、この場合に適用する方法 (または適用できるかどうか) がわかりませんが、データセット全体で評価を実行し、結果は事前にラベル付けされたデータになります。

推定器のラベルを真のラベルと比較するスコアリング関数を指定しようとしましたが、データのすべてではなくサンプルのみがクラスター化されているため、もちろん機能しません。

ここで適切なアプローチは何ですか?

4

2 に答える 2

3

検索を自分で実装することを検討しましたか?

for ループの実装は特に難しくありません。2 つのパラメーターを最適化したい場合でも、かなり簡単です。

ただし、DBSCAN と MeanShift の両方について、まず類似度の尺度を理解することをお勧めします。パラメータを最適化して一部のラベルに一致させるのではなく、メジャーの理解に基づいてパラメータを選択する方が理にかなっています (過剰適合のリスクが高い)。

言い換えると、2 つの記事がクラスター化される距離はどれくらいですか?

この距離がデータ ポイントごとに大きく異なる場合、これらのアルゴリズムはうまく機能しません。また、実際の類似度の値が再び意味を持つように、正規化された距離関数を見つける必要がある場合があります。TF-IDF はテキストでは標準ですが、ほとんどが検索コンテキストです。クラスタリングのコンテキストでは、それらははるかにうまく機能しない可能性があります。

また、MeanShift (k-means と同様) は座標を再計算する必要があることに注意してください。テキスト データでは、これにより望ましくない結果が生じる可能性があります。更新された座標は実際には良くなるどころか悪くなりました。

于 2014-09-03T11:05:16.063 に答える