Jaka jest różnica między funkcją decyzyjną, prognozą_proba i funkcją prognozowania dla problemu regresji logistycznej?

10

Przeglądałem dokumentację sklearn, ale nie jestem w stanie zrozumieć celu tych funkcji w kontekście regresji logistycznej. Dla decision_functionniego mówi, że jego odległość między hiperpłaszczyznę i instancji testowej. w jaki sposób te konkretne informacje są przydatne? i jak to się odnosi predicti predict-probametody?

Sameed
źródło

Odpowiedzi:

29

Przypomnijmy, że funkcjonalną formą regresji logistycznej jest

fa(x)=11+mi-(β0+β1x1++βkxk)

Oto, co zwraca predict_proba.

Termin wewnątrz wykładniczej

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

jest to, co zwraca decision_function. „Hiperpłaszczyzna”, o której mowa w dokumentacji, to

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

Ta terminologia jest pozostałością po maszynach wektorów nośnych, które dosłownie szacują oddzielającą hiperpłaszczyznę. W przypadku regresji logistycznej hiperpłaszczyzna jest trochę sztuczną konstrukcją, jest to płaszczyzna o równym prawdopodobieństwie, w którym model ustalił, że obie klasy docelowe są jednakowo prawdopodobne.

predictZwraca decyzję klasy, stosując regułę

fa(x)>0,5

Ryzykując mydelniczką, ta predictfunkcja ma bardzo mało uzasadnionych zastosowań, i uważam, że jest to znak błędu podczas przeglądania innych prac. Zaszedłbym wystarczająco daleko, by nazwać go błędem projektowym w samej sklearn ( predict_probafunkcja powinna była zostać wywołana predicti predictpowinna być wywołana predict_class, jeśli w ogóle).

Matthew Drury
źródło
Dziękuję za odpowiedź @ Mateusz, ale czy możesz wyjaśnić to nieco bardziej „W przypadku regresji logistycznej hiperpłaszczyzna jest trochę sztuczną konstrukcją, jest to płaszczyzna o równym prawdopodobieństwie, w którym model ustalił, że obie klasy docelowe są równie prawdopodobne . ” ?
Sameed
To wyjaśnienie jest interesujące i pomocne. Chciałbym, żeby sklearn wyjaśnił to lepiej. Nie rozumiem jednak, jaki jest pożytek ze znajomości wartości x w funkcji logistycznej 1 / (1 + e ^ -x)? Mogę tylko wymyślić inną funkcję sigmoidalną, taką jak x / (1+ | x |). Czy jest więcej? dzięki!
ldmtwo 20.04.2018
Zasadniczo funkcja decyzyjna powinna być sigmoidalna w regresji logistycznej. Poprawny?
3nomis
2
Myślę, że powodem, dla którego @Matthew jest na mydelniczce, jest to, że użycie 0,5 jako progu prognozy jest naiwne. Pierwszą rzeczą, którą należy zrobić, to nauczyć się korzystać z walidacji krzyżowej, krzywych ROC i AUC, aby wybrać odpowiedni próg c, i używając jako funkcji decyzyjnej f (x)> c.
hwrd