Как выполнить логистическую регрессию в Python?



Логистическая регрессия в Python с использованием sklearn для прогнозирования результата путем определения взаимосвязи между зависимыми и одной или несколькими независимыми переменными.

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

  1. Что такое регресс?
  2. Логистическая регрессия в Python
  3. Логистическая регрессия против линейной регрессии
  4. Сценарии использования
  5. Демонстрация

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





Что такое регресс?

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

Мы все время интуитивно сталкиваемся с регрессом. Например, предсказывать погоду с использованием набора данных о погодных условиях в прошлом.



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

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



Логистическая регрессия в Python

Это метод анализа набора данных, который имеет зависимую переменную и одну или несколько независимых переменных, чтобы предсказать результат в двоичной переменной, то есть он будет иметь только два результата.

Зависимая переменная категоричный в природе. Зависимая переменная также упоминается как целевая переменная а независимые переменные называются предсказатели .

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

Мы используем Сигмовидная функция / кривая прогнозировать категориальное значение. Пороговое значение определяет результат (победа / поражение).

Уравнение линейной регрессии: у = β0 + β1X1 + β2X2…. + βnXn

  • Y обозначает зависимую переменную, которую необходимо предсказать.
  • β0 - это точка пересечения оси Y, которая, по сути, является точкой на линии, которая касается оси Y.
  • β1 - это наклон прямой (наклон может быть отрицательным или положительным в зависимости от отношения между зависимой переменной и независимой переменной).
  • X здесь представляет собой независимую переменную, которая используется для прогнозирования нашего результирующего зависимого значения.

Сигмовидная функция: p = 1/1 + e-Y

Примените сигмовидную функцию к уравнению линейной регрессии.

логистическая регрессия в python-edureka

Уравнение логистической регрессии: p = 1/1 + e- (β0 + β1X1 + β2X2…. + βnXn)

Давайте посмотрим на различные типы логистической регрессии.

Типы логистической регрессии

ssis учебник для начинающих 2012 с примерами
    • Бинарная логистическая регрессия - имеет только два возможных результата. Пример - да или нет
    • Мультиномиальная логистическая регрессия - имеет три или более номинальных категорий, например, кошка, собака, слон.
    • Порядковая логистическая регрессия - она ​​имеет три или более порядковых категорий, порядковый номер означает, что категории будут в порядке. Пример - оценки пользователей (1-5).

Линейная регрессия против логистической

Хотя линейная регрессия может иметь бесконечные возможные значения, логистическая регрессия определенные результаты .

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

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

Сценарии использования

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

Прогноз погоды

Прогнозы погоды являются результатом логической регрессии. Здесь мы анализируем данные предыдущих сводок погоды и прогнозируем возможный результат на конкретный день. Но логическая регрессия может предсказывать только категориальные данные, например, пойдет ли дождь или нет.

Определение болезни

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

Давайте возьмем образец набора данных для построения модели прогнозирования с использованием логистической регрессии.

Демо

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

Сбор данных

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

import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt df = pd.read_csv (r'C: UsersMohammadWaseemDocumentsdata.csv ') print (df.head (5))

Вы получите все данные в удобочитаемом формате для облегчения анализа. А затем вы можете определить зависимые и независимые переменные для своей модели.

Анализ данных

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

sns.countplot ('Home', hue = 'WINorLOSS', data = df) plt.show ()

Выше показано соотношение между процентным соотношением побед / поражений по отношению к домашней / выездной игре. Sаналогичномы можем построить график взаимосвязи между другими соответствующими записями в данных.

Преодоление данных

Набор данных изменяется в соответствии с целевой переменной. Мы удалим все нулевые значения и строковые значения из DataFrame.

как компилировать Java-программы
печать (df.isnull (). sum ())

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

Тестирование и обучение данных

Для обеспечения производительности модели данные разделены на тестовые и обучающие данные. Данные разделяются с использованием train_test_split . Данные здесь разделены в соотношении 70:30.

Теперь для прогноз модели функция логистической регрессии реализована путем импорта модели логистической регрессии в модуль sklearn.

Затем модель помещается в состав поезда с помощью функции подбора. После этого прогнозирование выполняется с помощью функции прогнозирования.

из sklearn.model_selection импортировать train_test_split из sklearn.linear_model импортировать LogisticRegression из sklearn.metrics импортировать классификацию_report из sklearn.metrics импортировать confusion_matrix, precision_score x = df.drop ('Home', axis = 1) y = df ['Home'] x_train, x_test, y_train, y_test = train_test_split (x, y, test_size = 0.33, random_state = 1) logmodel = LogisticRegression () logmodel.fit (x_train, y_train) predictions = logmodel.predict (x_test) print (registration_report (y_test), predictions print (confusion_matrix (y_test, предсказания)) print (precision_score (y_test, предсказания))

Отчет о классификации:

Отчет о классификации отображает Точность , Отзыв, F1 и поддержка оценки за модель.

Точность Оценка означает уровень точности прогноза, сделанного моделью. Точность домашней игры 0,62 а для игры на выезде 0,58 .

Отзыв - это сумма, до которой модель может предсказать результат. Напомним, для домашней игры это 0,57 а для выездной игры 0,64 . Оценки F1 и поддержки - это объем данных, проверенных для прогнозов. В наборе данных НБА данные, протестированные для домашней игры: 1662 а для игры на выезде 1586 .

Матрица путаницы:

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

Тепловая карта матрицы ошибок:

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

sns.heatmap (pd.DataFrame (confusion_matrix (y_test, предсказания))) plt.show ()

Посмотрев на тепловую карту, мы можем сделать следующие выводы:

  • Из всех прогнозов классификатор предсказал «да» всего 1730 раз, из которых 1012 были действительно «да».
  • из всех прогнозов классификатор предсказал 'нет' всего 1518 раз, из которых 944 были фактическими 'нет'.

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

Оценка точности:

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

Выполнив шаги, описанные выше, мы предсказали возможность игры дома / на выезде с использованием набора данных NBA. Проанализировав отчет о классификации, мы можем предположить возможность игры дома / в гостях.

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

Кроме того, ознакомьтесь с различными блогами по науке о данных на платформе edureka, чтобы освоить в себе специалиста по данным.

Если вы хотите изучить Python и построить карьеру в области науки о данных, ознакомьтесь с нашим интерактивным онлайн-сайтом. Здесь вы получите круглосуточную поддержку, которая поможет вам на протяжении всего периода обучения.
Есть вопрос? Пожалуйста, отметьте это в комментариях, и мы вам ответим.