Pilihan fitur apa yang bisa digunakan untuk uji Chi square?

11
  1. Di sini saya bertanya tentang apa yang biasanya dilakukan orang lain untuk menggunakan uji kuadrat untuk hasil pemilihan fitur dalam pembelajaran terawasi. Jika saya mengerti dengan benar, apakah mereka menguji independensi antara setiap fitur dan hasil, dan membandingkan nilai p antara tes untuk setiap fitur?

  2. Di http://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test ,

    Uji chi-squared Pearson adalah uji statistik yang diterapkan pada set data kategorikal untuk mengevaluasi seberapa besar kemungkinan perbedaan yang diamati antara set muncul secara kebetulan.

    ...

    Tes independensi menilai apakah pengamatan berpasangan pada dua variabel, yang dinyatakan dalam tabel kontingensi , independen satu sama lain (misalnya, tanggapan polling dari orang-orang dari berbagai negara untuk melihat apakah kewarganegaraan seseorang terkait dengan respons).

    Jadi haruskah dua variabel yang independensinya diuji dengan tes harus kategori, atau diskrit (memungkinkan dipesan selain kategori), tetapi tidak kontinu?

  3. Dari http://scikit-learn.org/stable/modules/feature_selection.html , mereka

    melakukan ke set data iris untuk mengambil hanya dua fitur terbaik.χ2

    Dalam dataset iris , semua fitur bernilai numerik dan kontinu, dan hasilnya adalah label kelas (kategorikal). Bagaimana uji independensi kuadrat berlaku untuk fitur kontinu?

    Untuk menerapkan uji independensi kuadrat ke dalam dataset, pertama-tama kita harus mengkonversi fitur kontinu menjadi fitur-fitur diskrit, dengan cara binning (yaitu pertama-tama mendiskreditkan domain kontinu fitur ke dalam nampan, dan kemudian mengganti fitur dengan kemunculan nilai-nilai fitur di nampan. )?

    Kemunculan di beberapa nampan membentuk fitur multinomial (baik terjadi atau tidak di setiap nampan), jadi uji independensi kuadrat dapat diterapkan pada mereka, bukan?

    Ngomong-ngomong, saya kira, dapatkah kita menerapkan uji independensi kuadrat untuk fitur dan hasil apa pun , benar?

    Untuk bagian hasil, kita dapat memilih fitur untuk tidak hanya klasifikasi, tetapi juga untuk regresi, dengan uji independensi chi square, dengan meniadakan hasil yang berkelanjutan, kan?

  4. Situs belajar scikit juga mengatakan

    Hitung statistik chi-squared antara setiap fitur dan kelas yang tidak negatif .

    Skor ini dapat digunakan untuk memilih fitur n_fitur dengan nilai tertinggi untuk statistik uji chi-squared dari X, yang harus berisi hanya fitur-fitur non-negatif seperti boolean atau frekuensi (misalnya, jumlah term dalam klasifikasi dokumen), relatif terhadap kelas.

    Mengapa tes ini memerlukan fitur yang tidak negatif?

    Jika fitur tidak memiliki tanda tetapi bersifat kategoris atau diskrit, dapatkah tes masih berlaku untuk mereka? (Lihat bagian saya 1)

    Jika fitur-fiturnya negatif, kita selalu dapat membuang domain mereka dan menggantinya dengan kemunculannya (seperti yang saya kira untuk menerapkan tes ke dataset iris, lihat bagian 2), kan?

Catatan: Saya kira Scikit Learn mengikuti prinsip-prinsip umum, dan itulah yang saya minta di sini. Jika tidak, maka itu masih baik-baik saja.

Tim
sumber

Jawaban:

2

Saya pikir bagian dari kebingungan Anda adalah tentang jenis variabel mana yang dapat dibandingkan dengan chi-squared. Wikipedia mengatakan hal berikut tentang ini:

Ini menguji hipotesis nol yang menyatakan bahwa distribusi frekuensi peristiwa tertentu yang diamati dalam sampel konsisten dengan distribusi teoritis tertentu.

Dengan demikian membandingkan distribusi frekuensi , juga dikenal sebagai jumlah, juga dikenal sebagai angka non-negatif. Distribusi frekuensi yang berbeda ditentukan oleh variabel kategorikal; yaitu untuk masing-masing nilai dari variabel kategorikal perlu ada distribusi frekuensi yang dapat dibandingkan dengan yang lain.

Ada beberapa cara untuk mendapatkan distribusi frekuensi. Mungkin dari variabel kategori kedua di mana co-kejadian dengan variabel kategori pertama dihitung untuk mendapatkan distribusi frekuensi diskrit. Pilihan lain adalah dengan menggunakan variabel numerik (berganda) untuk nilai yang berbeda dari variabel kategori, ia dapat (misalnya) menjumlahkan nilai-nilai variabel numerik. Bahkan, jika variabel kategori binaris yang pertama adalah versi spesifik nanti.

Contoh

Sebagai contoh, lihat kumpulan variabel ini:

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

Variabel kategori xdan ydapat dibandingkan dengan menghitung co-kejadian, dan inilah yang terjadi dengan uji chi-squared:

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

Namun, Anda juga dapat melakukan binarise nilai 'x' dan mendapatkan variabel berikut:

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

Menghitung nilai sekarang sama dengan menjumlahkan nilai yang sesuai dengan nilai z.

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

Seperti Anda dapat melihat variabel kategori tunggal ( x) atau beberapa variabel numerik ( x1dan x2) sama-sama diwakili oleh dalam tabel kontingensi. Dengan demikian uji chi-squared dapat diterapkan pada variabel kategori (label pada sklearn) yang digabungkan dengan variabel kategorikal lain atau beberapa variabel numerik (fitur dalam sklearn).

Pieter
sumber
Jadi jika pemilihan fitur chi_square hanya dapat digunakan untuk fitur non-negatif (freq, count, dll), apa artinya itu untuk situasi di mana ada fitur dengan nilai negatif? Mengubah fitur atau menggunakan metode pemilihan fitur lain? Misalkan kita melakukan penelitian baru pada Iris Dataset, dan kami memiliki fitur yang mengukur perubahan panjang sepal setiap hari. Akhirnya dan akan ada nilai negatif. Tanaman akan layu dan menyusut memberikan perubahan negatif panjangnya. Mungkin kita mencoba untuk mengklasifikasikan tanaman apa itu dengan seberapa cepat layu atau apa.
Arash Howaida
1
Chi-square didasarkan pada proporsi nilai (yaitu distribusi frekuensi). Ini diimplementasikan dengan menjumlahkan nilai-nilai fitur (binarized). Jadi bagian dari jumlah keseluruhan harus memiliki makna. Dengan nilai negatif ini bukan itu masalahnya.
Pieter