Відповіді:
Логістична регресія - це насамперед регресія. Він стає класифікатором, додаючи правило рішення. Наведу приклад, який йде назад. Тобто, замість того, щоб брати дані та підходити до моделі, я розпочну з моделі, щоб показати, як це справді проблема регресії.
При логістичній регресії ми моделюємо коефіцієнти журналу або logit, що відбувається подія, яка є постійною величиною. Якщо ймовірність виникнення події дорівнює P ( A ) , шанси:
Коефіцієнти журналу такі:
Як і в лінійній регресії, ми моделюємо це за допомогою лінійної комбінації коефіцієнтів і предикторів:
Уявіть, нам дають модель того, чи має людина сиве волосся. Наша модель використовує вік як єдиний прогноктор. Ось наша подія A = людина має сиве волосся:
шанси на сиве волосся = -10 + 0,25 * вік
... Регресія! Ось код Python та сюжет:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
x = np.linspace(0, 100, 100)
def log_odds(x):
return -10 + .25 * x
plt.plot(x, log_odds(x))
plt.xlabel("age")
plt.ylabel("log odds of gray hair")
Тепер давайте зробимо його класифікатором. Спочатку нам потрібно перетворити коефіцієнти журналу, щоб отримати нашу ймовірність . Ми можемо використовувати сигмоїдну функцію:
Ось код:
plt.plot(x, 1 / (1 + np.exp(-log_odds(x))))
plt.xlabel("age")
plt.ylabel("probability of gray hair")
Останнє, що нам потрібно зробити для цього класифікатором, - це додати правило рішення. Одне дуже поширене правило - класифікувати успіх кожного разу, коли . Ми приймемо це правило, яке означає, що наш класифікатор передбачить сивину кожного разу, коли людині старше 40 років, і передбачить несиве волосся, коли людині буде молодше 40 років.
Логістична регресія чудово працює як класифікатор і в більш реалістичних прикладах, але перш ніж вона може бути класифікатором, вона повинна бути регресійною технікою!
Коротка відповідь
Так, логістична регресія - це алгоритм регресії, і він прогнозує постійний результат: вірогідність події. Те, що ми використовуємо його як двійковий класифікатор, пояснюється інтерпретацією результату.
Деталь
Логістична регресія - це тип узагальнюючої лінійної регресійної моделі.
У звичайній лінійній регресійній моделі безперервний результат y
моделюється як сума добутку предикторів та їх ефект:
y = b_0 + b_1 * x_1 + b_2 * x_2 + ... b_n * x_n + e
де e
помилка.
Узагальнені лінійні моделі не моделюються y
безпосередньо. Натомість вони використовують перетворення для розширення області y
до всіх реальних чисел. Це перетворення називається функцією зв'язку. Для логістичної регресії функцією зв'язку є функція logit (зазвичай, див. Примітку нижче).
Функція logit визначається як
ln(y/(1 + y))
Таким чином, форма логістичної регресії є:
ln(y/(1 + y)) = b_0 + b_1 * x_1 + b_2 * x_2 + ... b_n * x_n + e
де y
ймовірність події.
Те, що ми використовуємо його як двійковий класифікатор, пояснюється інтерпретацією результату.
Примітка: probit - це ще одна функція зв'язку, яка використовується для логістичної регресії, але logit є найбільш широко використовуваною.
Під час обговорення визначення регресії передбачає безперервну змінну. Логістична регресія - це двійковий класифікатор. Логістична регресія - це застосування функції logit на виході звичайного регресійного підходу. Функція Logit перетворюється (-inf, + inf) до [0,1]. Я думаю, що саме з історичних причин це ім'я зберігається.
Говорячи щось на кшталт "Я зробив певну регресію для класифікації зображень. Зокрема, я використовував логістичну регресію". неправильно.