Логистическая регрессия является широко используемой моделью классификации. В этой модели зависимая переменная или целевое значение представляет собой дискретное двоичное значение, т. е. 1 или 0, предполагающее успешное или неудачное выполнение, выигрыш или проигрыш, истинное или ложное.

Хотя это классификационная модель, термин «регрессия» в ее названии предполагает, что эта модель работает аналогично модели регрессии, которая является прогностическим моделированием. Вместо подгонки линии регрессии (точно так же, как при линейной регрессии) мы подгоняем S-кривую, известную как сигмовидная кривая, которая предсказывает два значения 0 или 1. Это Кривая S указывает на максимальную вероятность события.

УРАВНЕНИЕ ЛОГИСТИЧЕСКОЙ РЕГРЕССИИ

Выведем логистическое уравнение из уравнения прямой. пусть есть две функции x1 и x2, поэтому линейная связь между функциями и целевым значением будет y = Ax1 + Bx2 + C, но диапазон y здесь от отрицательной бесконечности до бесконечности.

Для логистической регрессии нам нужно, чтобы y был равен нулю или единице, поэтому мы манипулируем уравнением как y/(1-y), теперь диапазон от нуля до бесконечности, чтобы сделать диапазон от нуля до единицы, мы логарифмируем, и требуемое логистическое уравнение задается как log(y/(1-y))

СИГМОИДНАЯ ВЕРОЯТНОСТЬ

Вероятность цели y ограничена 0 или 1, это называется сигмовидной вероятностью. Математически,

  • здесь «t» — значения данных, т. е. значения признаков «X».
  • S(t) представляет собой вероятность быть истинным или ложным, то есть значение зависимой переменной «Y»

Эта математическая функция дает кривую «S», которая имеет конечный предел от 0 до 1, 0, когда «t» приближается к -бесконечности, и 1, когда «t» приближается к +бесконечность

МАТРИЦА ЗАМЕДЛЕНИЙ

Матрица путаницы — это матрица, которая используется для оценки эффективности модели классификации. Эта матрица сравнивает прогнозируемые значения целевой переменной с ее фактическими значениями.

  • TN: True Negative (количество фактических ложных предсказаний, которые были предсказаны правильно)
  • TP: True Positive (количество фактических истин, которые были предсказаны правильно)
  • FN: False Negative (количество предсказанных ложных результатов, которые на самом деле верны)
  • FP: False Positive (количество предсказанных истин, которые на самом деле ложны)

ЗНАЧЕНИЕ МАТРИЦЫ СМЕШАННОСТИ

Матрица путаницы используется для определения некоторых важных показателей, таких как точность, достоверность, полнота/чувствительность и показатель f-1.

Точность

Это просто означает, что насколько точно модель предсказала целевые значения, определяется формулой:

Точность

Это относится к правильности, достигнутой в предсказании, оно просто говорит нам о фактических положительных результатах из общего числа предсказанных положительных результатов, это дается формулой:

Вспомнить

Он говорит нам о чувствительности модели, определяя, сколько фактических положительных результатов предсказано правильно. Он рассчитывается по формуле:

Оценка F-1

Это помогает нам одновременно оценить отзыв и точность для сравнения двух моделей, он рассчитывается по формуле:

ЛОГИСТИЧЕСКАЯ РЕГРЕССИЯ В PYTHON

Мы будем использовать библиотеку Scikit Learn для реализации логистической регрессии и матрицы путаницы в наборе данных Titanic, взятом с kaggle.com. В этом примере мы использовали набор данных train.csv.

  • Импорт всех необходимых библиотек
import numpy as np
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score,precision_score
from sklearn.metrics import recall_score,confusion_matrix
from sklearn.model_selection import train_test_split as tts
  • Чтение данных
data=pd.read_csv("./titanic.csv")
print(data.shape)

data.head(5)

data.describe()

data.Survived.value_counts()
# count the number of survivors

  • Очистка данных (в этом примере мы не выполняем обширную очистку данных)
#considering only important fields
columns=['Pclass','Survived','Sex','Fare','Age']
data=data[columns]
data.head()

#returning true at the places where null values are present
print(data.isnull())

#removing null data points from the dataset
data.dropna(axis=0,how='any',inplace=True)
#we can see that the data points are reduced because null data points are removed

  • Разделение данных для обучения и прогнозирования
#splitting the target column and the features
X=data[['Pclass','Fare','Age']]
Y=data['Survived']
#splitting the data for training the model
x_train,x_test,y_train,y_test=tts(X,Y,test_size=0.2,random_state=42)print(x_train.shape)
print(x_test.shape)
print(y_train.shape)
print(y_test.shape)

  • Обучение модели и прогнозирование целевых значений
model=LogisticRegression()
model.fit(x_train,y_train)
predicted_y = model.predict(x_test)
print(predicted_y.shape)

  • Измерение точности, точности, отзыва и оценки F-1 с использованием матрицы путаницы
c_matrix=confusion_matrix(y_test,predicted_y)
print(c_matrix)

print("True Negtive = ",c_matrix[0][0])
print("False Positive = ",c_matrix[0][1])
print("False Negtive = ",c_matrix[1][0])
print("True Positive = ",c_matrix[1][1])

print(accuracy_score(y_test,predicted_y))
print(precision_score(y_test,predicted_y))
print(recall_score(y_test,predicted_y))

  • Вы можете проверить эти меры, вычислив все эти меры вручную, используя формулы, упомянутые выше. Принятие меры основано на требовании, например, мы можем установить пороговое значение для каждой меры, и если эта мера дает требуемое значение, то модель принимается.

ПРИМЕР ИСПОЛЬЗОВАНИЯ ЛОГИСТИЧЕСКОЙ РЕГРЕССИИ

Мы можем использовать логистическую регрессию во всех сценариях, где цель может быть разделена на 2 категории, например

  • Обнаружение спама
  • Кредитная санкция
  • Прогноз результатов экзамена
  • Выживание в катастрофе

Во всех этих случаях результатом является двоичное число (0,1), например, для системы обнаружения спама сущность будет либо спамом, либо не спамом; для санкции по кредиту банк либо санкционирует кредит, либо нет; для предсказания выживания человек либо выживет, либо умрет.

Надеюсь, вы все понимаете, что такое логистическая регрессия и как мы измеряем точность модели.

Оставайтесь на связи, чтобы узнать больше о машинном обучении.