7

LogisticRegression.predict_proba işlevi tam olarak ne döndürüyor? Benim örnektescikit-logisticRegression.predict_proba'nın dönüş değerini öğrenmek

bir sonuç böyle olsun:

[[ 4.65761066e-03 9.95342389e-01] 
[ 9.75851270e-01 2.41487300e-02] 
[ 9.99983374e-01 1.66258341e-05]] 

diğer hesaplamalar itibaren sigmoid fonksiyonunu, biliyorum kullanarak, ikinci sütun olasılıkları olduğunu. documentation, ilk sütunun n_samples olduğunu söylüyor, ancak bu olamaz çünkü benim örneklerim metinler ve sayılar değildir. Belgeler ayrıca, ikinci sütunun n_classes olduğunu söylüyor. Bu kesinlikle olamaz, çünkü sadece iki sınıfa sahip olduğumdan (yani +1 ve -1) ve fonksiyonun, sınıfların kendileri değil, gerçekten bir sınıf olma olasılıklarının hesaplanmasıyla ilgili olması gerekiyordu.

İlk sütun gerçekten nedir ve neden var?

cevap

14
4.65761066e-03 + 9.95342389e-01 = 1 
9.75851270e-01 + 2.41487300e-02 = 1 
9.99983374e-01 + 1.66258341e-05 = 1 

İlk sütun giriş -1 etiketi vardır ve ikinci kolon giriş +1 etiketi vardır olasılığıdır olasılığıdır.

Sadece pozitif etiket için öngörülen olasılıkları almak isterseniz, logistic_model.predict_proba(data)[:,1]'u kullanabilirsiniz. Bu size [9.95342389e-01, 2.41487300e-02, 1.66258341e-05] sonucunu verecektir.

+0

Bunu kesinlikle görmedim! Hızlı açıklama için teşekkürler. Şimdi belgelerin ne hakkında konuştuğunu daha önce merak ediyorum. – Zelphir

+2

Dokümantasyon şunları söylüyor: modeldeki her bir sınıf için örnek olasılığını döndürür. @ Zelphir: Dokümanlar içinde gördünüz: [n_samples, n_classes]. Bu, çıktıya karşılık gelir: satırların örnek olduğu matrisleri ve sütunları sınıfları (-1, 1) döndürür. Iulian'ın dediği gibi: her sıra için, sınıf -1 için bir olasılık tahmini ve sınıf 1 için bir olasılık olacaktır. –

+0

@Sander Ah teşekkürler, şimdi yapıyı anlıyorum. – Zelphir