カイ二乗検定はどのような特徴選択に使用できますか?


11
  1. ここで私は、教師あり学習での結果選択に関する特徴選択にカイ二乗検定を使用するために他の人が一般的に何をするかについて尋ねています。私が正しく理解している場合、彼らは各機能と結果の間の独立性をテストし、各機能のテスト間のp値を比較しますか?

  2. ではhttp://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test

    ピアソンのカイ2乗検定は、カテゴリデータのセットに適用される統計的検定であり、セット間に観測された差が偶然に生じた可能性を評価します。

    ...

    独立性のテストでは、分割表で表された2つの変数のペアの観測値が互いに独立しているかどうかを評価します(たとえば、国籍が異なる応答をポーリングして、国籍が応答に関連しているかどうかを確認します)。

    では、独立性がテストによってテストされる2つの変数は、カテゴリカルまたは離散(カテゴリカル以外の順序付けを許可)でなければならないが、連続ではないのでしょうか。

  3. http://scikit-learn.org/stable/modules/feature_selection.html、彼ら

    アイリスデータセットに対してテストを実行して、2つの最良の特徴のみを取得します。χ2

    虹彩データセットは、すべての機能が大切数値と連続しており、そして結果は、クラスラベル(カテゴリ)です。カイ二乗独立性検定は、連続特徴にどのように適用されますか?

    データセットにカイ二乗独立検定を適用するには、最初にビニング(つまり、最初に特徴の連続ドメインをビンに離散化し、次に特徴をビン内の特徴の値の出現で置き換える)により、連続特徴を離散特徴に変換しますか? )?

    いくつかのビンでの発生は多項式の特徴(各ビンで発生するかしないかのどちらか)を形成するため、カイ2乗独立検定をそれらに適用できます。

    ところで、私はカイ二乗独立検定をあらゆる種類の機能結果に適用できますか?

    結果の部分では、分類だけでなく、カイ二乗独立検定、連続結果をビニングすることにより、回帰の機能も選択できます。

  4. scikit学習サイトにも書いてあります

    非負の特徴とクラスの間のカイ2乗統計を計算します。

    このスコアが含まれている必要がありますXからテストカイ二乗統計値の最高値は、とn_features機能を選択するために使用することができる唯一の非負のようにブール値や周波数などの機能 (文書分類では例えば、用語カウント)、に対するクラス。

    テストで非負の機能が必要なのはなぜですか?

    特徴に兆候はないが、カテゴリー的または離散的である場合、テストをそれらに適用できますか?(私のパート1を参照)

    特徴が否定的である場合、それらのドメインを常にビニングし、それらをその出現に置き換えることができます(虹彩データセットにテストを適用するために私が推測するのと同じように、パート2を参照)。

注:Scikit Learnは一般的な原則に従っていると思います。それが私がここで求めていることです。そうでない場合は、それでも大丈夫です。

回答:


2

あなたの混乱の一部は、カイ二乗が比較できる変数のタイプについてだと思います。ウィキペディアはこれについて次のように述べています:

これは、サンプルで観測された特定のイベントの頻度分布が特定の理論的分布と一致しているという帰無仮説をテストします。

したがって、カウントとも呼ばれる非負数とも呼ばれる頻度分布を比較します。異なる頻度分布は、カテゴリ変数によって定義されます。つまり、カテゴリー変数の値ごとに、他の分布と比較できる頻度分布が必要です。

頻度分布を取得するには、いくつかの方法があります。これは、第1のカテゴリ変数との共起がカウントされて離散周波数分布が得られる、第2のカテゴリ変数からのものである可能性があります。別のオプションは、カテゴリ変数の異なる値に(複数の)数値変数を使用することです。これにより、(たとえば)数値変数の値を合計できます。実際、カテゴリー変数が2値化される場合、前者は後者の特定のバージョンです。

例として、これらの変数のセットを見てください。

x = ['mouse', 'cat', 'mouse', 'cat']
z = ['wild', 'domesticated', 'domesticated', 'domesticated']

カテゴリー変数xyは、共起を数えることで比較できます。これはカイ2乗検定で発生するものです。

                 'mouse'    'cat'
'wild'              1         0
'domesticated'      1         2

ただし、「x」の値をバイナライズして、次の変数を取得することもできます。

x1 = [1, 0, 1, 0]
x2 = [0, 1, 0, 1]
z = ['wild', 'domesticated', 'domesticated', 'domesticated']

値のカウントは、の値に対応する値を合計することと同じですz

                 x1    x2
'wild'           1     0
'domesticated'   1     2

ご覧のとおり、単一のカテゴリー変数(x)または複数の数値変数(x1およびx2)は、分割表で等しく表されます。したがって、カイ二乗検定は、別のカテゴリ変数または複数の数値変数(sklearnの機能)と組み合わせて、カテゴリ変数(sklearnのラベル)に適用できます。


それで、chi_square機能選択が非負の機能(freq、count、ect)にのみ使用できる場合、負の値を持つ機能がある状況でそれはどういう意味ですか?フィーチャーを変換するか、別のフィーチャー選択方法を使用しますか?Irisデータセットで新しい研究を行い、がく片の長さの変化を毎日測定する機能があるとします。結局、負の値になるでしょう。植物はしぼんで縮み、長さにマイナスの変化を与えます。多分私達はそれが枯れるかどれほど速いかによってそれがどの植物であるかを分類しようとしています
Arash Howaida、2018

1
カイ二乗は、値の比率(つまり、頻度分布)に基づいています。これは、(2値化された)機能値を合計することによって実装されます。したがって、合計の一部には意味があるはずです。負の値の場合、これは当てはまりません。
Pieter
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.