Rumah Kewangan Peribadi Cara menggunakan Python untuk memilih pembolehubah yang tepat untuk Sains Data - dummies

Cara menggunakan Python untuk memilih pembolehubah yang tepat untuk Sains Data - dummies

Isi kandungan:

Video: From C to Python by Ross Rheingans-Yoo 2024

Video: From C to Python by Ross Rheingans-Yoo 2024
Anonim

Memilih pembolehubah yang betul dalam Python dapat meningkatkan proses pembelajaran dalam sains data dengan mengurangkan jumlah bunyi (tidak berguna maklumat) yang boleh mempengaruhi anggaran pelajar. Oleh itu, pemilihan yang berubah-ubah dapat mengurangkan variasi ramalan dengan berkesan. Untuk melibatkan hanya pemboleh ubah yang berguna dalam latihan dan meninggalkan yang berlebihan, anda boleh menggunakan teknik ini:

  • Pendekatan univariat: Pilih pemboleh ubah yang paling berkaitan dengan hasil sasaran.

  • Pendekatan tamak atau mundur: Pastikan hanya pemboleh ubah yang boleh anda keluarkan dari proses pembelajaran tanpa merosakkan prestasinya.

Memilih dengan langkah univariat

Jika anda memutuskan untuk memilih pemboleh ubah oleh tahap persatuan dengan sasarannya, SelectPercentile kelas menyediakan prosedur automatik untuk menyimpan hanya peratusan tertentu yang terbaik, ciri-ciri yang berkaitan. Metrik yang tersedia untuk persatuan adalah

  • f_regression: Digunakan hanya untuk sasaran angka dan berdasarkan prestasi regresi linier.

  • f_classif: Hanya digunakan untuk sasaran kategori dan berdasarkan ujian statistik Analisis (Variasi) (ANOVA).

  • chi2: Menjalankan statistik chi-square untuk sasaran kategori, yang kurang masuk akal kepada hubungan tak linear antara pemboleh ubah ramalan dan sasarannya.

Apabila menilai calon untuk masalah klasifikasi, f_classif dan chi2 cenderung menyediakan set pembolehubah teratas yang sama. Ia masih merupakan amalan yang baik untuk menguji pilihan dari kedua-dua metrik persatuan.

Selain menerapkan pemilihan langsung persatuan persentil teratas, SelectPercentile juga boleh menilai pembolehubah terbaik untuk membuat keputusan lebih mudah untuk menentukan peratus percentile untuk mengecualikan ciri daripada menyertai proses pembelajaran. Kelas SelectKBest adalah sama dengan fungsinya, tetapi ia memilih pembolehubah k atas, di mana k adalah nombor, bukan persentil.

dari sklearn. feature_selection import SelectPercentile from sklearn. feature_selection import f_regression Selector_f = SelectPercentile (f_regression, percentile = 25) Selector_f. patut (X, y) untuk n, s dalam zip (boston. feature_names, Selector_f. scores_): mencetak 'F-score:% 3. 2ft untuk ciri% s '% (s, n) Skor F: 88. 15 untuk ciri CRIM F-score: 75. 26 untuk ciri ZN F-score: 153. 95 untuk ciri INDUS F-score: ciri CHAS F-score: 112. 59 untuk ciri NOX F-score: 471. 85 untuk ciri RM F-score: 83.48 untuk ciri AGE F-score: 33. 58 untuk ciri DIS F-score: 85. 91 untuk ciri RAD F-score: 141. 76 untuk ciri CAKUP F-score: 175. 11 untuk ciri PTRATIO F-score: 63. 05 untuk ciri B F-score: 601. 62 untuk ciri LSTAT

Menggunakan tahap output persatuan membantu anda memilih pembolehubah yang paling penting untuk model pembelajaran komputer anda, tetapi anda harus berhati-hati untuk masalah yang mungkin: > Sesetengah pembolehubah yang mempunyai persatuan tinggi juga boleh berkorelasi tinggi, memperkenalkan maklumat pendua, yang bertindak sebagai bunyi dalam proses pembelajaran.

  • Sesetengah pembolehubah boleh dihukum, terutamanya binari (pembolehubah yang menunjukkan status atau ciri menggunakan nilai 1 apabila ia hadir, 0 apabila tidak). Sebagai contoh, perhatikan bahawa output menunjukkan pemboleh ubah biner CHAS sebagai yang paling tidak berkaitan dengan pemboleh ubah sasaran (tetapi anda tahu dari contoh sebelumnya bahawa ia berpengaruh dari fasa silang pengesahan).

  • Proses pemilihan univariat boleh memberi anda kelebihan sebenar apabila anda mempunyai sejumlah besar pemboleh ubah untuk dipilih dan semua kaedah lain berubah menjadi tidak dapat dikomputasi. Prosedur terbaik adalah untuk mengurangkan nilai SelectPercentile dengan separuh atau lebih daripada pembolehubah yang ada, mengurangkan bilangan pembolehubah kepada nombor terkawal, dan dengan itu membolehkan penggunaan kaedah yang lebih canggih dan lebih tepat seperti carian tamak.

Menggunakan carian tamak

Apabila menggunakan pilihan univariat, anda perlu memutuskan sendiri berapa banyak pembolehubah yang dapat dipertahankan: Pemilihan tamak secara automatik mengurangkan bilangan ciri yang terlibat dalam model pembelajaran atas dasar sumbangan berkesan mereka kepada prestasi yang diukur dengan ukuran ralat.

Kelas RFECV, sesuai dengan data, dapat memberi anda maklumat tentang jumlah ciri yang berguna, tunjukkan kepada anda, dan secara automatik mengubah data X, dengan mengubah kaedah, ke dalam kumpulan variabel yang dikurangkan, seperti yang ditunjukkan dalam contoh berikut:

dari sklearn. feature_selection import RFECV selector = RFECV (estimator = regresi, cv = 10, scoring = "mean_squared_error") pemilih. cetak patut (X, y) cetak ("bilangan ciri optimum:% d" pemilih% n_features_) Bilangan ciri optimum: 6

Boleh diperolehi indeks ke set pembolehubah yang optimum dengan menghubungi sokongan atribut_ dari RFECV kelas selepas anda sesuai dengannya.

boston cetak. feature_names [pemilih. support_] ['CHAS "NOX" RM "DIS" PTRATIO "LSTAT']

Perhatikan bahawa CHAS kini termasuk di antara ciri-ciri yang paling ramalan, yang berbeza dengan hasil dari carian univariat. adalah penting, tidak kira sama ada ia adalah binari, kategoris atau numerik, kerana ia secara langsung menilai peranan yang dimainkan oleh ciri dalam ramalan.

Kaedah RFECV pastinya lebih cekap, berbanding dengan pendekatan perduaan, kerana ia menganggap ciri-ciri yang sangat berkorelasi dan ditala untuk mengoptimumkan ukuran penilaian (yang selalunya bukan Chi-square atau F-score). Sebagai proses tamak, ia menghendaki pengiraan dan mungkin hanya kira-kira set peramal terbaik.

Oleh kerana RFECV mempelajari kumpulan pembolehubah yang terbaik daripada data, pemilihan itu boleh menjadi lebih baik, iaitu apa yang berlaku dengan semua algoritma mesin pembelajaran yang lain. Mencuba RFECV pada sampel yang berlainan dalam data latihan boleh mengesahkan pemboleh ubah terbaik untuk digunakan.

Cara menggunakan Python untuk memilih pembolehubah yang tepat untuk Sains Data - dummies

Pilihan Editor

Cara RSVP ke Acara di Ning - patung

Cara RSVP ke Acara di Ning - patung

Di Ning, setelah anda menemukan persidangan itu mencari atau parti yang ingin anda hadiri, anda perlu RSVP untuk acara tersebut supaya pihak penganjur boleh mendapatkan jumlah minuman, makanan dan barang yang sesuai untuk semua peserta - dan juga rakan-rakan rangkaian anda yang tahu anda akan pergi . Untuk RSVP ...

Cara Menghantar Mesej Peribadi di Ning - dummies

Cara Menghantar Mesej Peribadi di Ning - dummies

Mesej hanya dengan dua kumpulan orang: rakan anda dan Pentadbir (termasuk Pencipta Rangkaian). Mesej peribadi Ning memberi anda cara yang ideal sebagai ahli untuk berkomunikasi dengan ahli-ahli lain dalam rangkaian tanpa semua orang mengetahui tentangnya:

Pilihan Editor

Dimensi web untuk Infographics anda - dummies

Dimensi web untuk Infographics anda - dummies

Cabaran untuk menilai infographic untuk web adalah saiz reka bentuk kini sangat berubah , tiada standard untuk bercakap. "Reka bentuk responsif" yang dibawa dengan kemunculan HTML5 mengubah landskap reka bentuk web secara kekal. Tidak seperti grafik yang dicetak, di mana setiap orang yang melihatnya mengalaminya dalam saiz yang sama, ...

Pilihan Editor

Bagaimana Menganalisis Sentimen dan Kesan Penglibatan Media Sosial Anda - pemahaman

Bagaimana Menganalisis Sentimen dan Kesan Penglibatan Media Sosial Anda - pemahaman

Komuniti mempunyai tindak balas yang positif, negatif, atau neutral kepada anda dan jenama anda boleh membantu anda menentukan bagaimana untuk terus mengendalikan pendekatan penglibatan media sosial anda. Bagaimana anda mengukur pesaing dalam minda penonton dalam talian anda adalah satu lagi faktor penting untuk dinilai. Anda juga boleh memanfaatkan ...

Cara Tanya Ahli Komuniti Dalam Talian untuk Ulasan - dummies

Cara Tanya Ahli Komuniti Dalam Talian untuk Ulasan - dummies

Tidak ada yang salah dengan menjangkau para blogger, penulis, dan ahli komuniti dalam talian lain dan bertanya kepada mereka jika mereka berminat untuk menyemak jenama atau komuniti anda. Perbezaan antara penginjilan jenama dan melakukan kajian semula adalah bahawa penginjil jenama tidak mengkaji: Mereka mempromosikan, dan mereka diberi pampasan sebagai pertukaran untuk promosi mereka. Penilai, di ...

Cara Mengiklankan Syarikat Anda melalui Penajaan Blog - patung

Cara Mengiklankan Syarikat Anda melalui Penajaan Blog - patung

Untuk cara percikan untuk dilihat blog atau laman web, pertimbangkan menaja laman web ini. Penajaan untuk blog popular telah mendapat banyak perhatian dalam blogosphere. Sesetengah blogger menyeru menerima tajaan "menjual keluar," tetapi yang lain menganggapnya sebagai cara terbaik untuk mendapatkan bayaran untuk melakukan apa yang mereka suka. Penajaan cenderung kepada ...