В чем разница между решением_функции, предсказанием_процедуры и функцией предсказания для задачи логистической регрессии?

10

Я просматривал документацию по sklearn, но не смог понять назначение этих функций в контексте логистической регрессии. Ибо decision_functionон говорит, что это расстояние между гиперплоскостью и тестовым экземпляром. как эта конкретная информация полезна? и как это соотносится с predictи predict-probaметодами?

Sameed
источник

Ответы:

28

Напомним, что функциональной формой логистической регрессии является

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

Это то, что возвращается predict_proba.

Термин внутри экспоненты

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

это то, что возвращается decision_function. «Гиперплоскость», упомянутая в документации,

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

Эта терминология является пережитком машин опорных векторов, которые буквально оценивают разделяющую гиперплоскость. Для логистической регрессии эта гиперплоскость является чем-то вроде искусственной конструкции, это плоскость равной вероятности, где модель определила, что оба целевых класса одинаково вероятны.

predictФункция возвращает решение класса с помощью правила

f(x)>0.5

На риск мыльницы, у этой predictфункции очень мало законных применений, и я рассматриваю ее как признак ошибки при проверке работы других. Я бы пошел достаточно далеко, чтобы назвать это ошибкой проектирования в самом sklearn ( predict_probaфункция должна была быть вызвана predictи predictдолжна была быть вызвана predict_class, если вообще что-то было).

Мэтью Друри
источник
Спасибо за ответ @ Matthew, но не могли бы вы прояснить этот момент немного подробнее? Для логистической регрессии эта гиперплоскость является немного искусственной конструкцией, это плоскость равной вероятности, где модель определила, что оба целевых класса одинаково вероятны «. ?
Sameed
Это объяснение интересно и полезно. Я бы хотел, чтобы Склеарн объяснил это лучше. Чего я не понимаю, так это зачем знать значение x в логистической функции 1 / (1 + e ^ -x)? Все, что я могу придумать, это, возможно, использовать другую сигмовидную функцию, такую ​​как x / (1+ | x |). Есть ли еще? Спасибо!
августа
По сути, функция принятия решения должна была быть сигмоидальной в логистической регрессии. Правильный?
19
2
Я думаю, что причина того, что @Matthew находится в мыльной коробке, в том, что использование 0,5 в качестве порога для предсказания наивно. Первое, что нужно сделать, это научиться использовать перекрестную проверку, кривые ROC и AUC, чтобы выбрать подходящий порог c, и использовать в качестве решающей функции f (x)> c.
HWRD