Evalml: Aktifkan kembali penyetelan ambang klasifikasi biner secara default

Dibuat pada 15 Apr 2020  ·  17Komentar  ·  Sumber: alteryx/evalml

Kami menambahkan fitur ini pada cabang fitur #346, lalu mencadangkannya di #606 karena fitur ini menghitung ulang predict dan memperlambat automl.

Kita harus mengaktifkannya kembali secara default. Untuk melakukannya, kita harus menyimpan output prediksi, yang saat ini dihitung dalam skor. Solusi jangka panjang adalah memoize prediksi dengan cache (#466), tetapi jangka pendek kita harus bisa melakukan sesuatu.

Ini juga terkait dengan #579, yang melacak pembersihan kode duplikat antara metode score kelas pipeline.

enhancement

Semua 17 komentar

Saya ingin mengambil celah di minggu depan ini. Saya telah meneliti beberapa metode berbeda untuk melakukan caching dan telah menguji beberapa hal secara lokal.

Kita tidak boleh melakukan ini sampai kita memiliki tes kinerja MVP

Sekarang setelah kita memiliki MVP tes kinerja, kita harus melakukan ini! Ini muncul sebagai bagian dari #1024.

@angela97lin terima kasih! Iya tentu saja.

Langkah selanjutnya adalah menghasilkan perbandingan kinerja sebelum vs sesudah pada beberapa masalah klasifikasi biner kami.

Pertimbangan Tambahan

  • Kehilangan log (tujuan default untuk kelas bin) dan AUC tidak boleh diubah sama sekali dengan ini, karena mereka adalah ambang-agnostik. Tetapi metrik lain seperti F1 pasti harus ditingkatkan. Akan menyenangkan untuk melihat beberapa.
  • Waktu yang pas akan mendapat pukulan. Pertanyaannya adalah, seberapa buruk pukulan itu? Saya berharap tidak lebih dari peningkatan 10-20%.
  • Kita bisa bereksperimen dengan menyapu ukuran split seleksi ambang batas. Ini dapat meningkatkan akurasi holdout dengan mencegah overfitting/underfitting. Meningkatkan ukuran split tuning ambang batas juga akan mengurangi ukuran split pelatihan, yang mengarah ke waktu fit yang lebih cepat

Pekerjaan masa depan

  • Saat ini kami tidak memiliki perlindungan apa pun untuk hal ini terkait ukuran data. Ini berlaku untuk set pelatihan secara umum, jadi kami harus mengajukan masalah terpisah.

Dalam tulisan asli pada bulan April, saya berkata

kita harus men-cache output prediksi, yang saat ini dihitung dalam skor.

Saya percaya itu tidak berlaku lagi, bisa diabaikan. Komentar itu tersisa dari sebelum kami memfaktorkan ulang score . Selain itu, kami melakukan pengoptimalan ambang batas pada pemisahan terpisah, jadi tidak ada yang perlu di-cache. @freddyaboulton FYI

@dsherry @angela97lin Saya mengumpulkan beberapa bagian pertama dari dokumen analisis di sini . Bisakah Anda memberi tahu saya pendapat Anda (hanya membaca hingga bagian Eksperimen - yang lainnya masih merupakan pengganti)?

@freddyaboulton Saya baru saja meninggalkan beberapa komentar. Kita pasti harus melihat kehilangan log, yang seharusnya menunjukkan tidak ada perubahan setidaknya di batch pertama. Namun saya pikir kita juga harus mencoba mengoptimalkan F1 atau sesuatu yang sensitif terhadap ambang batas, sehingga kita dapat melihat efek mengaktifkan penyetelan.

@freddyaboulton maaf, saya bingung dengan plot yang tersisa dari template, dan saya tidak melihat komentar Anda tentang hanya membaca bagian pertama ️ Saya suka apa yang Anda miliki

@freddyaboulton FYI sejak Anda memposting dokumen, saya memindahkan masalah ini ke Sedang Berlangsung

@dsherry @angela97lin Saya menyelesaikan analisis saya pada file "datasets_small_0.yaml".

Singkatnya, kinerja sebenarnya menurun setelah menyetel ambang batas - mungkinkah karena kami tidak menggunakan split bertingkat untuk menyetel ambang batas?

@freddyaboulton ooh, ya, bisa jadi.

Saya meninjau dokumen Anda dan meninggalkan komentar. Saya suka grafik dan statistik baru. Kita harus menemukan cara untuk menambahkannya kembali ke looking_glass/analysis/ sehingga kita dapat menggunakannya kembali. Tidak menekan sekalipun.

Beberapa opsi yang terlintas dalam pikiran:

  • Gunakan pemisahan bertingkat untuk pemisahan pengoptimalan ambang batas
  • Terapkan jumlah baris minimum untuk pemisahan pengoptimalan ambang batas. Jika ini tidak dapat dicapai, dapat memperingatkan dan tidak menetapkan ambang batas, atau dapat membuat kesalahan
  • Untuk kumpulan data yang lebih kecil, gunakan seluruh data pelatihan sebagai pemisahan pengoptimalan ambang batas, dan risiko overfitting

Saya pikir kita harus mencoba beralih ke pengambilan sampel bertingkat terlebih dahulu dan melihat apa fungsinya.

Hal lain yang harus dicoba adalah mengubah ukuran pemisahan dari 80% pelatihan 20% optimasi ambang batas menjadi 50% pelatihan 50% optimasi ambang batas. Saya agak ragu ini akan berhasil tetapi mudah untuk dicoba dan akan menarik untuk dilihat.

Karena @jeremyliweishih mengambil #1049 , @freddyaboulton Anda mungkin ingin menyerahkan ini kepadanya. Saya akan membiarkan Anda berdua mencari tahu :)

@freddyaboulton Anda tidak mengerjakan ini, kan? Bisakah @jeremyliweishih menerimanya?

@jeremyliweishih @dsherry Silakan ambil! Analisis awal menunjukkan bahwa hanya mengaktifkan penyetelan tidak meningkatkan skor. Menggunakan strategi pemisahan data yang berbeda mungkin bisa membantu!

Kembali ke Dev Backlog dan akan menindaklanjutinya setelah lebih banyak pekerjaan pemisahan data.

@bchen1116 dan saya berdiskusi, dan kami merasa ini perlu untuk #973

Apakah halaman ini membantu?
0 / 5 - 0 peringkat