2

私がやろうとしているのは、scikit.learn の Kmeans を使用して、純粋なテキスト ドキュメントを 2 つのカテゴリにクラスタ化することです。

これがユースケースのシナリオです。「重要」とタグ付けされるサンプル セットと「重要でない」とタグ付けされるサンプル セットをいくつか受け取ります。

scikit.learn の例からのデータセットは、ニュースグループの事前定義された形式です:

dataset = fetch_20newsgroups(subset='all', categories=categories,
                             shuffle=True, random_state=42)

私がやりたいのは、テキストファイルからデータを受け取ることです (20newsgroups はテキストファイルではないようです。解凍することさえできません)。

私がはっきりしていないのは、その fetch_20newsgroups のデータ構造とその仕組みです。そして、テキストファイルを必要な形式に変換するにはどうすればよいですか(fetch_20newsgroupsが提供するものなど)

ありがとう

ピヨ。

4

1 に答える 1

5

scikit-learn に同梱されている 20 個のニュースグループ データセット ローダーは、元のサイトhttp://kdd.ics.uci.edu/databases/20newsgroups/20newsgroups.htmlからダウンロードしたテキスト ドキュメントのアーカイブを取得し、圧縮形式で次の場所にキャッシュします。$HOME/scikit_learn_dataフォルダ。詳細については、20 個のニュースグループ データセット ローダーのソース コードを参照してください。

独自のテキスト ファイルのセットを scikit-learn の「束」オブジェクトとしてロードするには、sklearn.datasets.load_files関数を適切なフォルダーに直接指定して使用できます。

データが既に 2 つのカテゴリに分類されている場合 (たとえば、「重要」と「重要でない」という名前の 2 つのサブフォルダー)、使用する必要があるのは、教師なしのクラスタリング アルゴリズムではなく、MultinomialNB (Naive Bayes)、LinearSVC などの分類です。 (線形サポート ベクター マシン) または LogisticRegression は、テキスト分類の例のように監視されます。

どのドキュメントがどのカテゴリに属する​​かわからないが、コーパスを類似したドキュメントの 2 つのグループにグループ化したい場合は、KMeans などの教師なしクラスタリング アルゴリズムを使用できますが、得られる 2 つのクラスターがアイデアと一致する可能性はほとんどありません。 」と「重要でない」。

于 2012-10-08T15:51:52.267 に答える