Apa perbedaan antara decision_function, predict_proba, dan fungsi prediksi untuk masalah regresi logistik?

10

Saya telah melalui dokumentasi sklearn tetapi saya tidak dapat memahami tujuan dari fungsi-fungsi ini dalam konteks regresi logistik. Untuk decision_functionitu dikatakan bahwa jarak antara hyperplane dan contoh uji. bagaimana informasi khusus ini bermanfaat? dan bagaimana hal ini berhubungan dengan predictdan predict-probametode?

Sama
sumber

Jawaban:

28

Ingatlah bahwa bentuk fungsional dari regresi logistik adalah

f(x)=11+e(β0+β1x1++βkxk)

Inilah yang dikembalikan oleh predict_proba.

Istilah di dalam eksponensial

d(x)=β0+β1x1++βkxk

adalah apa yang dikembalikan oleh decision_function. "Hyperplane" yang dimaksud dalam dokumentasi adalah

β0+β1x1++βkxk=0

Terminologi ini adalah peninggalan dari mesin vektor dukungan, yang secara harfiah memperkirakan hyperplane pemisah. Untuk regresi logistik, hyperplane ini sedikit membangun buatan, itu adalah bidang probabilitas yang sama, di mana model telah menentukan kedua kelas target memiliki kemungkinan yang sama.

The predictmengembalikan fungsi keputusan kelas menggunakan aturan

f(x)>0.5

Dengan risiko soapboxing, predictfungsinya memiliki sangat sedikit kegunaan yang sah, dan saya melihatnya menggunakannya sebagai tanda kesalahan ketika meninjau pekerjaan orang lain. Saya akan pergi cukup jauh untuk menyebutnya kesalahan desain di sklearn itu sendiri ( predict_probafungsi seharusnya dipanggil predict, dan predictseharusnya dipanggil predict_class, jika ada sama sekali).

Matthew Drury
sumber
Terima kasih atas jawaban @Matthew, tetapi bisakah Anda memperjelas poin ini sedikit lebih banyak "Untuk regresi logistik, hyperplane ini sedikit buatan buatan, itu adalah bidang probabilitas yang sama, di mana model telah menentukan kedua kelas target memiliki kemungkinan yang sama besar . " ?
Sama
Penjelasan ini menarik dan bermanfaat. Saya berharap sklearn menjelaskannya dengan lebih baik. Yang tidak saya mengerti adalah apa gunanya mengetahui nilai x dalam fungsi logistik 1 / (1 + e ^ -x)? Yang bisa saya pikirkan adalah mungkin menggunakan fungsi sigmoid yang berbeda seperti x / (1+ | x |). Apakah masih ada lagi? Terima kasih!
ldmtwo
Pada dasarnya fungsi keputusan seharusnya menjadi sigmoid dalam regresi logistik. Benar?
3nomis
2
Saya pikir alasan @Matthew berada di kotak sabun adalah bahwa menggunakan 0,5 sebagai ambang prediksi adalah naif. Hal pertama yang harus dilakukan adalah belajar menggunakan validasi silang, kurva ROC dan AUC untuk memilih ambang batas yang sesuai c, dan menggunakan sebagai fungsi keputusan f (x)> c.
hwrd