Wprowadzenie Regresja logistyczna w R.

Regresja logistyczna w R znana również jako problemy z klasyfikacją binarną. Służą do przewidywania wyniku jako (1 lub 0 albo tak / nie) dla zmiennej niezależnej. Aby zrozumieć regresję logistyczną w R, ważne jest, aby znać podstawową regresję liniową, która działa z ciągłą zmienną wyniku. Mówiąc dokładniej, możemy powiedzieć, że jest to rozszerzenie regresji liniowej. W tym artykule omówimy różne metody obliczania modelu i oceny. Regresja logistyczna służy do rozwiązywania problemów klasyfikacyjnych w uczeniu maszynowym.

Jak działa regresja logistyczna w R?

Regresja logistyczna jest techniką stosowaną w dziedzinie statystyki mierzącą różnicę między zmienną zależną i niezależną z przewodnikiem funkcji logistycznej poprzez oszacowanie różnych występowania prawdopodobieństw. Mogą być dwumianowe (ma wynik tak lub brak) lub wielomianowe (uczciwe vs. słabe, bardzo słabe). Wartości prawdopodobieństwa leżą między 0 a 1, a zmienna powinna być dodatnia (<1). Kieruje na zmienną zależną i musi wykonać następujące kroki:

  1. n - liczba ustalonych prób na pobranym zbiorze danych
  2. z dwoma wynikami próby
  3. wynik prawdopodobieństwa powinien być od siebie niezależny
  4. Prawdopodobieństwo sukcesu i porażki musi być takie samo na każdej próbie.

W tym rozważamy przykład, biorąc pakiet ISLR, który zapewnia różne zestawy danych do szkolenia. Aby dopasować do modelu, zastosowano tutaj uogólnioną funkcję modelu liniowego (glm). Aby zbudować regresję logistyczną, preferowana jest funkcja glm, która pobiera szczegółowe informacje na jej temat za pomocą podsumowania zadania analizy.

Kroki robocze:

Etapy robocze regresji logistycznej są zgodne z pewnymi elementami terminów, takimi jak

  • Modelowanie prawdopodobieństwa lub oszacowanie prawdopodobieństwa
  • Prognoza
  • Inicjalizacja wartości progowej (specyficzność wysoka lub niska)
  • Macierz splątania
  • Obszar kreślenia pod krzywą (AUC)

Przykłady

Poniżej znajduje się przykład regresji logistycznej w R:

Ładowanie danych:

Instalowanie pakietu ISLR.

wymagają (ISLR)

Ładowanie wymaganego pakietu: ISLR

W tym artykule użyjemy zestawu danych „Weekly” w RStudio. Zbiór danych implikuje szczegółowe podsumowanie tygodniowych zapasów od 1990 do 2010 roku.

wymagają (ISLR)

nazwiska (Dz.U.)

Wynik:

(1) „Zakup” „WeekofPurchase” „StoreID” „PriceCH”

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

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

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

(17) „ListPriceDiff” „SKLEP”

str (Dz.U.)

Pokazuje 1070 obserwacji 18 zmiennych.

Nasz zestaw danych zawiera 1070 obserwacji i 18 różnych zmiennych. tutaj mamy Special MM, a Special CH ma zależny wynik. Weźmy specjalny atrybut MM, aby mieć poprawną obserwację i dokładność 84%.

stół (OJ $ SpecialMM)

0 1

897 173

Następnie znajdź prawdopodobieństwo

897/1070

(1) 0, 8383178

W następnym kroku dla lepszej próbki Podzielenie zestawu danych na szkolenie i testowanie zestawu danych jest niepotrzebne

biblioteka (caTools)

set.seed (88)

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

Biorąc pod uwagę, że qt ma zestaw szkoleniowy, a qs ma przykładowe dane z zestawu testowego.

qt = podzbiór (Dz.U., podział == PRAWDA)

qs = podzbiór (OJ, split == FALSE)

nrow (qt)

(1) 898

nrow (qs)

(1) 172

Dlatego mamy 898 Zestawów szkoleniowych i 172 próbek testowych.

Następnie za pomocą funkcji Summary () podano szczegółowe informacje na temat tabel odchyleń i współczynników wydajności do analizy regresji.

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

podsumowanie (QualityLog)

Wynik:

Połączenie:

glm (formuła = SpecialMM ~ Cena sprzedażyMM + Tydzień zakupu, rodzina = dwumianowy,

dane = qt)

Pozostałości odchyleń:

Min 1Q Mediana 3Q Max

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

Współczynniki:

Oszacuj Std. Błąd z wartością Pr (> | z |)

(Przechwyć) 2, 910774 1, 616328 1, 801 0, 07173.

Cena sprzedaży MM -4, 538464 0, 405808 -11, 184 <2e-16 ***

Weekof Zakup 0, 015546 0, 005831 2, 666 0, 00767 **

-

Odchylenie zerowe: 794, 01 przy 897 stopniach swobody

Odchylenie resztkowe: 636, 13 na 895 stopniach swobody

AIC: 642, 13

Liczba iteracji Fishera: 5

Z powyższej analizy wynika, że ​​tabela współczynników podaje wartości dodatnie dla WeekofPurchase i mają one co najmniej dwie gwiazdki, co oznacza, że ​​są znaczącymi kodami modelu.

Technika prognozowania:

Tutaj użyjemy funkcji przewidywania pociągu w tym pakiecie R i podamy prawdopodobieństwa, że ​​używamy argumentu o nazwie typ = odpowiedź. Zobaczmy prognozę zastosowaną do zestawu treningowego (qt). R przewiduje wynik w postaci P (y = 1 | X) z prawdopodobieństwem granicznym 0, 5.

Prognozowanie = przewidywanie (QualityLog, typ = „odpowiedź”)

Podsumowanie daje medianę, średnią i wartości min, maks.

Podsumowanie (Prognozowanie) Wykonanie daje

Min. 1 kw. Mediana Średnia 3 kw. Maks.

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

tapply (replaceTrain, qt $ SpecialMM)

Aby obliczyć średnią dla prawdziwych prawdopodobieństw, używana jest funkcja tapply ().

tapply (przewidywania, qt $ SpecialMM, średnia)

0 1

0, 1224444 0, 3641334

Dlatego w powyższym stwierdzeniu stwierdzamy, że możliwość prawdziwej SpecialMM oznacza, że ​​wartość wynosi 0, 34, a dla prawdziwej złej wartości wynosi 0, 12.

Obliczanie wartości progowej:

jeśli P jest> T– przewidywanie jest słabe Specjalne MM

jeśli P jest

Matryca klasyfikacyjna:

tabela (qt $ SpecialMM, przewidywany trening> 0, 5)

FAŁSZ PRAWDA

0 746 7

1 105 40

Aby obliczyć czułość i swoistość

40/145

(1) 0, 2758621

746/753

(1) 0, 9907039

Zestaw testowy Prognozowanie

przewidywaniaTest = przewidywanie (QualityLog, typ = „odpowiedź”, newdata = qs)

tabela (qs $ SpecialMM, Prognozuj test> = 0, 3)

FAŁSZ PRAWDA

0 130 14

1 10 18

tabela (qs $ SpecialMM, Prognozuj test> = 0, 5)

FAŁSZ PRAWDA

0 140 4

1 18 10

Obliczanie dokładności

150/172

(1) 0, 872093

Istnieją 172 przypadki, z których 144 są dobre, a 28 słabe.

Rysowanie krzywej ROC:

Jest to ostatni krok poprzez wykreślenie krzywej ROC do pomiarów wydajności. Dobra wartość AUC powinna być bliższa 1, a nie 0, 5. Sprawdzanie prawdopodobieństw 0, 5, 0, 7, 0, 2 w celu przewidzenia, w jaki sposób wartość progowa rośnie i maleje. Odbywa się to poprzez jednoczesne wykreślenie wartości progowych na krzywej ROC. Dobrym wyborem jest wybranie, biorąc pod uwagę wyższą czułość.

Techniki regresji logistycznej

Zobaczmy implementację logistyki przy użyciu R, ponieważ bardzo łatwo dopasowuje się do modelu. Istnieją dwa rodzaje technik:

  • Wielomianowa regresja logistyczna
  • Regresja logistyczna porządkowa

Wcześniej działa ze zmiennymi odpowiedzi, jeśli mają więcej niż dwie klasy lub więcej. później działa, gdy kolejność jest znacząca.

Wniosek

Dlatego nauczyliśmy się podstawowej logiki regresji, a także wdrożyliśmy Regresję logistyczną w określonym zbiorze danych R. Regresja dwumianowa lub binarna mierzy wartości jakościowe odpowiedzi binarnych i zmiennych predykcyjnych. Odgrywają one istotną rolę w analityce, w której eksperci branżowi oczekują znajomości regresji liniowej i logistycznej. Mają własne wyzwania, aw praktycznym przykładzie zrobiliśmy kroki w zakresie czyszczenia danych, przetwarzania wstępnego. W sumie widzieliśmy, jak regresja logistyczna rozwiązuje problem wyników kategorycznych w prosty i łatwy sposób.

Polecane artykuły

To był przewodnik po regresji logistycznej w R. Tutaj omawiamy działanie, różne techniki i ogólne wyjaśnienie różnych metod stosowanych w regresji logistycznej w R. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. Ramy uczenia maszynowego
  2. R vs Python
  3. Funkcje ciągów Python
  4. Czy Python jest językiem skryptowym
  5. Rozkład dwumianowy w R | Składnia
  6. Regresja a klasyfikacja

Kategoria: