Введение Логистическая регрессия в R

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

Как работает логистическая регрессия в R?

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

  1. фиксированных испытаний на взятом наборе данных
  2. с двумя результатами испытаний
  3. исход вероятности должен быть независимым друг от друга
  4. Вероятность успеха и неудачи должны быть одинаковыми на каждом испытании.

В этом мы рассмотрим пример, взяв пакет ISLR, который предоставляет различные наборы данных для обучения. Чтобы соответствовать модели, здесь используется обобщенная линейная модельная функция (glm). Для построения логистической регрессии функция glm является предпочтительной и получает подробную информацию о них, используя сводку для анализа задачи.

Рабочие шаги:

Рабочие шаги по логистической регрессии следуют определенным элементам термина, таким как

  • Моделирование вероятности или оценка вероятности
  • прогнозирование
  • Инициализация порогового значения (высокая или низкая специфичность)
  • Путаница матрица
  • Участок под кривой (AUC)

Примеры

Ниже приведены некоторые примеры логистической регрессии в R:

Загрузка данных:

Установка пакета ISLR.

требуют (ISLR)

Загрузка необходимого пакета: ISLR

Для этой статьи мы будем использовать набор данных «Еженедельно» в RStudio. Набор данных подразумевает сводную информацию о недельном запасе с 1990 по 2010 год.

требуют (ISLR)

имена (OJ)

Выход:

(1) «Покупка» «WeekofPurchase» «StoreID» «PriceCH»

(5) «PriceMM», «DiscCH», «DiscMM», «SpecialCH».

(9) «SpecialMM», «LoyalCH», «SalePriceMM», «SalePriceCH».

(13) «PriceDiff», «Store7», «PctDiscMM», «PctDiscCH».

(17) «ListPriceDiff» «МАГАЗИН»

ул (ОЖ)

Показывает 1070 наблюдений за 18 переменными.

Наш набор данных имеет 1070 наблюдений и 18 различных переменных. здесь у нас есть Special MM И специальный CH имеет зависимый результат. Давайте возьмем специальный атрибут MM, чтобы иметь правильное наблюдение и точность 84%.

таблица (OJ $ SpecialMM)

0 1

897 173

Далее, чтобы найти вероятность

897/1070

(1) 0.8383178

На следующем шаге для лучшей выборки разделение набора данных на набор данных для обучения и тестирования

библиотека (caTools)

set.seed (88)

split = sample.split (OJ $ SpecialMM, SplitRatio = 0, 84)

Учитывая, что у qt есть обучающий набор, а у qs есть образцы данных тестового набора.

кварты = подмножество (OJ, разъемный == TRUE),

QS = подмножество (OJ, разъемный == FALSE)

nrow (QT)

(1) 898

nrow (достаточное количество)

(1) 172

Поэтому у нас есть 898 учебных наборов и 172 тестовых образца.

Далее, используя Summary (), вы получите подробную информацию об отклонениях и коэффициентах для регрессионного анализа.

QualityLog = glm (SpecialMM ~ SalePriceMM + WeekofPurchase, data = qt, family = binomial)

Резюме (QualityLog)

Выход:

Вызов:

glm (формула = SpecialMM ~ SalePriceMM + WeekofPurchase, семейство = бином,

data = qt)

Остатки отклонения:

Мин 1Q Медиана 3Q Макс

-1, 2790 -0, 4182 -0, 3687 -0, 2640 2, 4284

Коэффициенты:

Оценка Станд. Значение ошибки z Pr (> | z |)

(Перехват) 2, 910774 1, 616328 1, 801 0, 07173.

SalePriceMM -4, 538464 0, 405808 -11, 184 <2e-16 ***

WeekofPurchase 0, 015546 0, 005831 2, 666 0, 00767 **

-

Нулевое отклонение: 794.01 на 897 степеней свободы

Остаточное отклонение: 636, 13 на 895 степеней свободы

AIC: 642, 13

Количество итераций Фишера: 5

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

Техника прогнозирования:

Здесь мы будем использовать функцию предиката Train в этом R-пакете и предоставим вероятности, что мы используем аргумент с именем type = response. Давайте посмотрим прогноз, примененный к обучающему набору (qt). R предсказывает результат в виде P (y = 1 | X) с вероятностью границы 0, 5.

Предсказание = предсказание (QualityLog, type = ”response”)

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

Сводка (Предсказание) Выполнение дает

Минимум 1st Qu.Median Mean 3 Qu.Max.

0, 02192 0, 03342 0, 07799 0, 16147 0, 25395 0, 89038

tapply (ForexTrain, Qt $ SpecialMM)

Для вычисления среднего значения истинных вероятностей используется функция tapply ().

tapply (predictTrain, кварты $ SpecialMM, среднее)

0 1

0.1224444 0.3641334

Следовательно, в приведенном выше утверждении мы находим, что вероятность истинного SpecialMM означает значение 0, 34, а для истинного плохого значения 0, 12.

Расчет порогового значения:

если P> T - прогноз плохой Special MM

если Р

Матрица классификации:

таблица (qt $ SpecialMM, ForexTrain> 0, 5)

FALSE TRUE

0 746 7

1 105 40

Вычислить Чувствительность и Специфичность

40/145

(1) 0, 2758621

746/753

(1) 0.9907039

Тестовый набор Prediction

Предсказание = предсказание (QualityLog, тип = «ответ», новые данные = qs)

таблица (qs $ SpecialMM, ForexTest> = 0, 3)

FALSE TRUE

0 130 14

1 10 18

таблица (qs $ SpecialMM, ForexTest> = 0, 5)

FALSE TRUE

0 140 4

1 18 10

Расчет точности

150/172

(1) 0.872093

Есть 172 случая, из которых 144 хороших и 28 плохих.

Построение кривой ROC:

Это последний шаг построения графика ROC для измерения производительности. Хорошее значение AUC должно быть ближе к 1, а не к 0, 5. Проверка с вероятностями 0, 5, 0, 7, 0, 2, чтобы предсказать, как пороговое значение увеличивается и уменьшается. Это делается путем нанесения пороговых значений одновременно на кривой ROC. Хороший выбор - это выбор с учетом более высокой чувствительности.

Методы логистической регрессии

Давайте рассмотрим реализацию логистики с использованием R, так как она очень легко подходит для модели. Есть два типа техники:

  • Полиномиальная логистическая регрессия
  • Порядковая логистическая регрессия

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

Вывод

Следовательно, мы изучили основную логику регрессии, а также внедрили логистическую регрессию для определенного набора данных R. Биномиальная или бинарная регрессия измеряет категориальные значения бинарных ответов и переменных предикторов. Они играют жизненно важную роль в аналитике, в которой эксперты отрасли ожидают знать линейный и логистический регресс. У них свои проблемы, и на практическом примере мы сделали шаги по очистке данных, предварительной обработке. В целом мы увидели, как логистическая регрессия решает проблему категориального результата простым и легким способом.

Рекомендуемые статьи

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

  1. Механизм машинного обучения
  2. R против Python
  3. Строковые функции Python
  4. Является ли Python скриптовым языком
  5. Биномиальное распределение в R | Синтаксис
  6. Регрессия против классификации