Логистическая регрессия - это, прежде всего, регрессия. Он становится классификатором путем добавления правила принятия решения. Я приведу пример, который идет назад. То есть вместо того, чтобы брать данные и подгонять модель, я собираюсь начать с модели, чтобы показать, как это действительно является проблемой регрессии.
В рамках логистической регрессии мы моделируем шансы или логит, что происходит событие, которое является непрерывной величиной. Если вероятность того, что событие произойдет, равна , шансы:P ( A )Aп( А )
п( А )1 - П( А )
Тогда шансы на вход в систему:
журнал( P( А )1 - П( А ))
Как и в случае линейной регрессии, мы моделируем это с помощью линейной комбинации коэффициентов и предикторов:
logit = b0+ б1Икс1+ б2Икс2+ ⋯
Представьте, что нам дают модель того, есть ли у человека седые волосы. Наша модель использует возраст как единственный предиктор. Здесь наше событие А = человек с седыми волосами:
логарифм седых волос = -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")
Теперь давайте сделаем это классификатором. Во-первых, нам нужно преобразовать лог-шансы, чтобы получить нашу вероятность . Мы можем использовать сигмовидную функцию:п( А )
п( А ) = 11 + опыт( - журнал шансов ) )
Вот код:
plt.plot(x, 1 / (1 + np.exp(-log_odds(x))))
plt.xlabel("age")
plt.ylabel("probability of gray hair")
Последнее, что нам нужно сделать классификатором, это добавить правило принятия решения. Одно очень распространенное правило - классифицировать успех, когда . Мы примем это правило, которое подразумевает, что наш классификатор будет прогнозировать седые волосы, когда человек старше 40 лет, и прогнозировать не седые волосы, когда ему меньше 40 лет.п( А ) > 0,5
Логистическая регрессия прекрасно работает в качестве классификатора и в более реалистичных примерах, но прежде чем она станет классификатором, она должна быть техникой регрессии!
Короткий ответ
Да, логистическая регрессия - это алгоритм регрессии, и он предсказывает непрерывный результат: вероятность события. То, что мы используем его как двоичный классификатор, связано с интерпретацией результата.
подробность
Логистическая регрессия - это тип обобщенной модели линейной регрессии.
В обычной линейной регрессионной модели непрерывный результат
y
моделируется как сумма произведений предикторов и их влияния:где
e
ошибкаОбобщенные линейные модели не моделируют
y
напрямую. Вместо этого они используют преобразования, чтобы расширить областьy
до всех действительных чисел. Это преобразование называется функцией связи. Для логистической регрессии функция связи - это функция логита (обычно см. Примечание ниже).Функция logit определяется как
Таким образом, форма логистической регрессии:
где
y
вероятность события.Тот факт, что мы используем его в качестве двоичного классификатора, обусловлен интерпретацией результатов.
Примечание: пробит - это еще одна функция связи, используемая для логистической регрессии, но наиболее широко используется логит.
источник
Как вы обсуждаете, определение регрессии является предсказанием непрерывной переменной. Логистическая регрессия - это двоичный классификатор. Логистическая регрессия - это применение функции logit на выходе обычного регрессионного подхода. Функция логита превращается (-inf, + inf) в [0,1]. Я думаю, что это просто по историческим причинам, что сохраняет это имя.
Сказав что-то вроде: «Я сделал некоторую регрессию для классификации изображений. В частности, я использовал логистическую регрессию». неправильно.
источник
источник