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

Логистичната регресия в R също известна като проблеми с бинарна класификация. Те се използват за прогнозиране на резултата като (1 или 0 или да / не) за независима променлива. За да се разбере логистичната регресия в R, важно е да се знае основната линейна регресия, работи с променливата на непрекъснатия резултат. По-конкретно можем да кажем, че това е удължаване на линейна регресия. В тази статия ще обсъдим различни методи, използвани за изчисляване на модел и оценка. Логистичната регресия се използва за решаване на класификационни проблеми в машинното обучение.

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

Логистичната регресия е техника, използвана в областта на статистиката, измерваща разликата между зависима и независима променлива с ръководството на логистичната функция чрез оценка на различното възникване на вероятностите. Те могат да бъдат или биномиални (има да или няма резултат), или мултиномиални (Справедливи срещу лоши, много лоши). Стойностите на вероятността лежат между 0 и 1, а променливата трябва да бъде положителна (<1). Той се насочва към зависимата променлива и има следните стъпки, които трябва да следвате:

  1. n - no.of фиксирани изпитвания на взета база данни
  2. с два изпитателни резултата
  3. резултатът от вероятността трябва да е независим един от друг
  4. Вероятността за успех и неуспех трябва да бъде една и съща при всяко изпитание.

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

Работни стъпки:

Работните стъпки по логистичната регресия следват някои елементи от термина като

  • Моделиране на вероятността или извършване на оценка на вероятността
  • предвиждане
  • Инициализиране на праговата стойност (висока или ниска специфичност)
  • Матрица за объркване
  • Площта на кривата под кривата (AUC)

Примери

По-долу са дадени някои примери за логистична регресия в R:

Зареждане на данни:

Инсталиране на пакета ISLR.

изискват (ISLR)

Необходим пакет за зареждане: ISLR

За тази статия ще използваме набор от данни "Weekly" в RStudio. Наборът от данни предполага обобщените данни за седмичните запаси от 1990 до 2010 г.

изискват (ISLR)

имена (ОВ)

изход:

(1) „Покупка“ „WeekofПокупка“ „StoreID“ „PriceCH“

(5) “PriceMM” “DiscCH” “DiscMM” “SpecialCH”

(9) „SpecialMM“ „LoyalCH“ „SalePriceMM“ „SalePriceCH“

(13) “PriceDiff” “Store7” “PctDiscMM” “PctDiscCH”

(17) „ListPriceDiff“ „STORE“

ул (ОВ)

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

Нашият набор от данни има 1070 наблюдения и 18 различни променливи. тук имаме специален ММ И специален СН има зависим резултат. Нека вземем специален атрибут ММ, за да имаме правилно наблюдение и точност от 84%.

маса (ОВ $ SpecialMM)

0 1

897 173

На следващо място, за да намерите вероятността

897/1070

(1) 0, 8383178

В следващата стъпка за по-добра извадка Разделянето на набора от данни в набор от данни за обучение и тестване е goo

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

set.seed (88)

split = sample.split (OJ $ SpecialMM, SplitRatio = 0.84)

Като се има предвид, че qt има набор за обучение и qs има примерни данни от тестовия набор.

QT = подгрупа (ОВ, сплит == TRUE)

QS = подгрупа (ОВ, сплит == FALSE)

nrow (QT)

(1) 898

nrow (QS)

(1) 172

Следователно имаме 898 учебни комплекта и 172 проби за тестване.

Следващото използване на Summary () дава подробности за отклоненията и коефициентите на ефективност за регресионен анализ.

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

резюме (QualityLog)

изход:

Обадете се:

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

данни = qt)

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

Мин. 1Q Средна 3Q Макс

-1.2790 -0.4182 -0.3687 -0.2640 2.4284

коефициенти:

Оценете Std. Грешка z стойност Pr (> | z |)

(Прихващане) 2.910774 1.616328 1.801 0.07173.

ПродажбаЦенаMM -4.538464 0.405808 -11.184 <2e-16 ***

WeekofПокупка 0.015546 0.005831 2.666 0.00767 **

-

Нулево отклонение: 794.01 на 897 градуса свобода

Остатъчно отклонение: 636.13 на 895 градуса свобода

AIC: 642.13

Брой повторения на Фишър: 5

От горния анализ се казва, че таблицата с коефициентите дава положителни стойности за WeekofPurchase и те имат поне две звезди, което означава, че те са значимите кодове за модела.

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

Тук ще използваме функцията за предсказване на влака в този пакет R и ще предоставим вероятности, които използваме аргумент с име type = response. Нека видим прогнозата, приложена към тренировъчния набор (qt). R прогнозира резултата под формата на P (y = 1 | X) с гранична вероятност 0, 5.

predictTrain = предвиди (QualityLog, type = ”отговор”)

Обобщените резултати са средни, средни и мин., Максимални стойности.

резюме (predictTrain) Изпълнението дава

Мин. 1-ви Qu.Median Среден 3-ти Qu.Max.

0.02192 0.03342 0.07799 0.16147 0.25395 0.89038

докосване (predictTrain, qt $ SpecialMM)

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

tapply (predictTrain, QT $ SpecialMM, средна)

0 1

0.1224444 0.3641334

Следователно в горното твърдение откриваме, че възможността за истински SpecialMM означава стойност на 0, 34, а за истински лоша стойност е 0, 12.

Изчисляване на праговата стойност:

ако P е> Т– прогнозата е лоша Специална ММ

ако P е

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

таблица (qt $ SpecialMM, predictTrain> 0.5)

ЛЕЖНА ИСТИНСКА

0 746 7

1 105 40

За изчисляване на чувствителност и специфичност

40/145

(1) 0, 2758621

746/753

(1) 0, 9907039

Тест набор Предсказване

predictTest = предвиди (QualityLog, type = “response”, newdata = qs)

таблица (qs $ SpecialMM, predictTest> = 0.3)

ЛЕЖНА ИСТИНСКА

0 130 14

1 10 18

таблица (qs $ SpecialMM, predictTest> = 0.5)

ЛЕЖНА ИСТИНСКА

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. Можете също да разгледате следните статии, за да научите повече -

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

Категория: