Scikit-learn: min_weight_fraction_leaf perbaikan yang disarankan

Dibuat pada 28 Jun 2016  ·  3Komentar  ·  Sumber: scikit-learn/scikit-learn

Deskripsi

Saya telah menggunakan parameter min_weight_fraction_leaf dari DecisionTreeClassifier dan RandomForestClassifier secara tidak benar dan saya pikir kemungkinan besar orang lain melakukan hal yang sama dengan saya.

Misalnya, dokumentasi untuk min_weight_fraction_leaf dalam DecisionTreeClassifier mengatakan

Fraksi berbobot minimum dari sampel masukan yang diperlukan untuk berada di simpul daun.

Itu benar-benar tidak jelas bagi saya apa yang dimaksud dokumen dengan "fraksi tertimbang dari sampel masukan". Awalnya saya pikir itu adalah pembobotan berdasarkan ukuran kelas atau nilai yang diberikan oleh class_weight . Saya pikir sedikit perubahan dalam deskripsi parameter dapat menjernihkan kebingungan ini. Mungkin seperti itu

Fraksi berbobot minimum dari sampel masukan yang diperlukan untuk berada di simpul daun di mana bobot ditentukan oleh sample_weight dalam metode fit ().

Lebih lanjut, tampaknya min_weight_fraction_leaf hanya berlaku jika sample_weight diberikan dalam panggilan fit() . Jika sample_weight tidak tersedia dalam panggilan ke fit() , min_weight_fraction_leaf diabaikan secara diam-diam. Di sini, saya pikir min_weight_fraction_leaf masih harus diterapkan dengan asumsi bahwa semua sampel memiliki bobot yang sama ATAU peringatan harus diberikan bahwa min_weight_fraction_leaf tidak akan digunakan karena sample_weight tidak disediakan.

Versi

Darwin-15.5.0-x86_64-i386-64bit
Python 3.5.1 | Continuum Analytics, Inc. | (default, 7 Des 2015, 11:24:55)
[GCC 4.2.1 (Apple Inc. build 5577)]
Jumlah 1.11.0
SciPy 0.17.1
Scikit-Learn 0.17.1

Juga, saya ingin membuat perubahan yang saya sarankan (jika dianggap layak), tetapi saya memiliki sedikit pengalaman berkontribusi pada perpustakaan open-source. Mungkin perlu sedikit bantuan jika seseorang mau membantu saya.

Bug

Komentar yang paling membantu

Saya pikir jika min_weight_fraction_leaf diset dan tidak ada sample_weights disediakan, itu akan menimbulkan kesalahan atau mengasumsikan bobot yang seragam. Dalam hal ini agak berlebihan dengan min_samples_leaf tapi saya pikir dengan asumsi bobot seragam masih akan lebih baik.

Semua 3 komentar

Harap kirimkan PR

Pada 29 Juni 2016 pukul 06:09, Ben [email protected] menulis:

Deskripsi

Saya telah menggunakan parameter min_weight_fraction_leaf dari
DecisionTreeClassifier dan RandomForestClassifier salah dan saya pikir
sepertinya orang lain melakukan hal yang sama dengan saya.

Misalnya, dokumentasi untuk min_weight_fraction_leaf in
DecisionTreeClassifier
http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html
kata

Fraksi berbobot minimum dari sampel masukan yang disyaratkan berada pada a
simpul daun.

Sangat tidak jelas bagi saya apa yang dimaksud dokumen dengan "pecahan berbobot dari
sampel masukan ". Awalnya saya pikir itu adalah pembobotan berdasarkan
ukuran kelas atau nilai yang diberikan oleh class_weight. Saya pikir sedikit
perubahan dalam deskripsi parameter dapat menghilangkan kebingungan ini. Mungkin
sesuatu seperti

Fraksi berbobot minimum dari sampel masukan yang disyaratkan berada pada a
simpul daun di mana bobot ditentukan oleh sample_weight dalam metode fit ().

Lebih lanjut, tampaknya min_weight_fraction_leaf hanya berlaku jika
sample_weight tersedia di call fit (). Jika sample_weight tidak
disediakan di panggilan untuk fit (), min_weight_fraction_leaf diam-diam
diabaikan. Di sini, saya pikir min_weight_fraction_leaf masih harus diterapkan di bawah
asumsi bahwa semua sampel memiliki bobot yang sama ATAU harus ada peringatan
mengingat min_weight_fraction_leaf tidak akan digunakan sejak sample_weight
tidak tersedia.
Versi

Darwin-15.5.0-x86_64-i386-64bit
Python 3.5.1 | Continuum Analytics, Inc. | (default, 7 Des 2015, 11:24:55)
[GCC 4.2.1 (Apple Inc. build 5577)]
Jumlah 1.11.0
SciPy 0.17.1
Scikit-Learn 0.17.1

-
Anda menerima ini karena Anda berlangganan utas ini.
Balas email ini secara langsung, lihat di GitHub
https://github.com/scikit-learn/scikit-learn/issues/6945 , atau nonaktifkan
benang
https://github.com/notifications/unsubscribe/AAEz6xE2BmEJHo6hGgTWoigsPutoD4_nks5qQX9zgaJpZM4JAe96
.

Saya pikir jika min_weight_fraction_leaf diset dan tidak ada sample_weights disediakan, itu akan menimbulkan kesalahan atau mengasumsikan bobot yang seragam. Dalam hal ini agak berlebihan dengan min_samples_leaf tapi saya pikir dengan asumsi bobot seragam masih akan lebih baik.

Saya rasa ini mirip dengan min_samples_leaf . Alih-alih mewajibkan jumlah sampel absolut di setiap simpul daun, min_weight_fraction_leaf menyediakan opsi untuk meminta sebagian kecil sampel (atau bobot) di setiap daun. Apakah model menggunakan bobot untuk sampel bergantung pada class_weight .

Apakah halaman ini membantu?
0 / 5 - 0 peringkat