DecisionTreeRegressor di bawah kap GradientBoostingClassifier
Saya sedang memeriksa estimator lemah dari model GradientBoostingClassifier saya. Model ini sesuai dengan dataset kelas biner.
Saya perhatikan bahwa semua penduga yang lemah di bawah pengklasifikasi ansambel ini adalah objek regresi pohon keputusan. Ini tampak aneh bagi saya secara naluriah.
Saya mengambil pohon keputusan pertama dalam ansambel dan menggunakannya untuk memprediksi secara independen di seluruh kumpulan data saya. Jawaban unik dari kumpulan data tersebut adalah sebagai berikut:
array([-2.74, -1.94, -1.69, ...])
Pertanyaan saya adalah: mengapa dan bagaimana pengklasifikasi penguat gradien mengubah penaksir lemah menjadi tugas regressor (bukan tugas klasifikasi) yang tidak terikat oleh 0 dan 1? Pada akhirnya, GradientBoostingClassifier mengeluarkan probabilitas semu antara 0 dan 1: mengapa ansambel penduga yang lemah tidak melakukan hal yang sama?
Jawaban
Setelah membaca lebih banyak dokumentasi, saya menemukan bagian yang mencakup kasus klasifikasi. Itu bisa ditemukan disini . Selain itu statquest ini sangat berguna.
1.11.4.5.2. Klasifikasi
Peningkatan gradien untuk klasifikasi sangat mirip dengan kasus regresi. Namun, jumlah pohon tidak homogen dengan prediksi: tidak bisa menjadi kelas, karena pohon memprediksi nilai kontinu.
Pemetaan dari nilai ke kelas atau probabilitas bergantung pada kerugian. Untuk deviasi (atau log-loss), probabilitas yang termasuk dalam kelas positif dimodelkan sebagai dimana fungsi sigmoid. Untuk klasifikasi multikelas, pohon K (untuk kelas K) dibangun pada setiap iterasi. Probabilitas yang termasuk dalam kelas k dimodelkan sebagai nilai softmax.
Perhatikan bahwa bahkan untuk tugas klasifikasi, sub-estimator masih merupakan regressor, bukan classifier. Ini karena sub-estimator dilatih untuk memprediksi gradien (negatif), yang selalu berupa besaran kontinu.