12

いくつかのテキスト分類タスクで Chi-2 特徴選択を試しています。Chi-2 テストは依存関係 B/T の 2 つのカテゴリ変数をチェックすることを理解しています。したがって、バイナリ BOW ベクトル表現を使用したバイナリ テキスト分類問題に対して Chi-2 特徴選択を実行すると、各 (feature,class) に対する各 Chi-2 テストが行​​われます。ペアは、自由度 1 の非常に単純な Chi-2 テストになります。

ドキュメントからの引用: http://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.chi2.html#sklearn.feature_selection.chi2

このスコアを使用して、X からの χ² (カイ 2 乗) 統計の値が最も高い n_features 特徴を選択できます。この統計には、ブール値または度数 (ドキュメント分類の単語数など) が含まれている必要があります。

DF (単語数) ベクトル表現で Chi-2 特徴選択も実行できるように思えます。私の最初の質問は次のとおりです。sklearn はどのように整数値の特徴をカテゴリカルに離散化しますか?

私の 2 番目の質問は最初の質問と似ています。ここのデモ コードから: http://scikit-learn.sourceforge.net/dev/auto_examples/document_classification_20newsgroups.html

TF*IDF ベクトル表現で Chi-2 特徴選択も実行できるように思えます。sklearn は実数値の特徴に対して Chi-2 特徴選択をどのように実行しますか?

親切なアドバイスをありがとうございました!

4

1 に答える 1

15

χ² 特徴選択コードは、その入力(特徴値) と (クラス ラベル)から分割表を作成します。各エントリijは、いくつかの特徴iといくつかのクラスjに対応し、クラスjに属するすべてのサンプルにわたるi番目の特徴の値の合計を保持します。次に、クラスの経験的分布 (図の相対度数のみ) と特徴値の均一分布から生じる期待度数に対する χ² 検定統計量を計算します。Xyy

これは、合計がそのクラスの特徴 (用語) の合計頻度になるため、特徴値が (用語などの) 頻度である場合に機能します。離散化は行われていません。

また、値が tf-idf 値である場合も、実際には非常にうまく機能します。これは、重み付け/スケーリングされた周波数であるためです。

于 2013-01-30T10:39:39.687 に答える