R Prosta, wielokrotna regresja liniowa i krokowa (z przykładem)

Spisie treści:

Anonim

W tym samouczku dowiesz się

  • Prosta regresja liniowa
  • Wielokrotna regresja liniowa
  • Zmienne ciągłe
  • Regresja czynników
  • Regresja krokowa
  • Nauczanie maszynowe
  • Nadzorowana nauka
  • Uczenie się bez nadzoru

Prosta regresja liniowa

Regresja liniowa odpowiada na proste pytanie: czy możesz zmierzyć dokładną zależność między jedną zmienną docelową a zbiorem predyktorów?

Najprostszym z modeli probabilistycznych jest model liniowy:

gdzie

  • y = zmienna zależna
  • x = zmienna niezależna
  • = składnik błędu losowego
  • = punkt przecięcia z osią
  • = Współczynnik x

Rozważ następujący wykres:

Równanie to punkt przecięcia z osią. Jeśli x jest równe 0, y będzie równe przecinkowi, 4,77. to nachylenie linii. Mówi, w jakiej proporcji y zmienia się, gdy zmienia się x.

Aby oszacować optymalne wartości , należy użyć metody o nazwie Zwykłe najmniejsze kwadraty (OLS) . Ta metoda próbuje znaleźć parametry, które minimalizują sumę kwadratów błędów, czyli odległość w pionie między przewidywanymi wartościami y a rzeczywistymi wartościami y. Różnica jest znana jako składnik błędu .

Zanim oszacujesz model, możesz określić, czy liniowa zależność między y i x jest wiarygodna, wykreślając wykres rozrzutu.

Wykres punktowy

Użyjemy bardzo prostego zbioru danych, aby wyjaśnić pojęcie prostej regresji liniowej. Zaimportujemy średnie wysokości i wagi dla amerykańskich kobiet. Zbiór danych zawiera 15 obserwacji. Chcesz zmierzyć, czy wysokości są dodatnio skorelowane z wagami.

library(ggplot2)path <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/women.csv'df <-read.csv(path)ggplot(df,aes(x=height, y = weight))+geom_point()

Wynik:

Wykres rozrzutu sugeruje ogólną tendencję wzrostu y wraz ze wzrostem x. W następnym kroku zmierzysz, o ile wzrostów przy każdym kolejnym.

Szacunki metodą najmniejszych kwadratów

W prostej regresji OLS obliczenie jest proste. Celem nie jest pokazanie wyprowadzenia w tym samouczku. Napiszesz tylko wzór.

Chcesz oszacować:

Celem regresji OLS jest zminimalizowanie następującego równania:

gdzie

wartością przewidywaną.

Rozwiązaniem

Zauważ, że oznacza to średnią wartość x

Rozwiązaniem

W R możesz użyć funkcji cov () i var () do oszacowania

beta <- cov(df$height, df$weight) / var (df$height)beta

Wynik:

##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height)alpha

Wynik:

## [1] -87.51667

Współczynnik beta oznacza, że ​​z każdą dodatkową wysokością waga wzrasta o 3,45.

Ręczne szacowanie prostego równania liniowego nie jest idealne. R zapewnia odpowiednią funkcję do oszacowania tych parametrów. Wkrótce zobaczysz tę funkcję. Wcześniej przedstawimy, jak ręcznie obliczyć prosty model regresji liniowej. W swojej podróży naukowca danych ledwo lub nigdy nie oszacujesz prostego modelu liniowego. W większości sytuacji zadania regresji są wykonywane na wielu estymatorach.

Wielokrotna regresja liniowa

Bardziej praktyczne zastosowania analizy regresji wykorzystują modele, które są bardziej złożone niż prosty model liniowy. Model probabilistyczny, który zawiera więcej niż jedną zmienną niezależną, nazywany jest modelami regresji wielokrotnej . Ogólna forma tego modelu to:

W notacji macierzowej możesz przepisać model:

Zmienna zależna y jest teraz funkcją k zmiennych niezależnych. Wartość współczynnika .

Krótko przedstawiamy założenie, które poczyniliśmy w odniesieniu do losowego błędu OLS:

  • Średnia równa 0
  • Wariancja równa
  • Normalna dystrybucja
  • Przypadkowe błędy są niezależne (w sensie probabilistycznym)

Musisz znaleźć wektor współczynników regresji, które minimalizują sumę kwadratów błędów między przewidywanymi i rzeczywistymi wartościami y.

Rozwiązanie w formie zamkniętej to:

z:

  • wskazuje transpozycję macierzy X
  • wskazuje odwracalną macierz

Używamy zbioru danych mtcars. Znasz już zbiór danych. Naszym celem jest przewidywanie liczby mil na galon dla zestawu funkcji.

Zmienne ciągłe

Na razie będziesz używać tylko zmiennych ciągłych i odkładać na bok cechy jakościowe. Zmienna am jest zmienną binarną przyjmującą wartość 1 w przypadku ręcznej skrzyni biegów i 0 w przypadku samochodów automatycznych; vs jest również zmienną binarną.

library(dplyr)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))glimpse(df)

Wynik:

## Observations: 32## Variables: 6## $ mpg  21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19… .## $ disp  160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 1… ## $ hp  110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180,… ## $ drat  3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.9… ## $ wt  2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3… ## $ qsec  16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 2… 

Do obliczenia parametrów można użyć funkcji lm (). Podstawowa składnia tej funkcji to:

lm(formula, data, subset)Arguments:-formula: The equation you want to estimate-data: The dataset used-subset: Estimate the model on a subset of the dataset

Pamiętaj, że równanie ma następującą postać

w R

  • Symbol = zostaje zastąpiony przez ~
  • Każde x jest zastępowane nazwą zmiennej
  • Jeśli chcesz usunąć stałą, dodaj -1 na końcu formuły

Przykład:

Chcesz oszacować wagę osób na podstawie ich wzrostu i dochodów. Równanie jest takie

Równanie w R jest napisane w następujący sposób:

y ~ X1 + X2 +… + Xn # Z punktem przecięcia

A więc dla naszego przykładu:

  • Zważ ~ wysokość + przychody

Twoim celem jest oszacowanie liczby mil na galon na podstawie zestawu zmiennych. Równanie do oszacowania to:

Oszacujesz swoją pierwszą regresję liniową i zapiszesz wynik w dopasowanym obiekcie.

model <- mpg~.disp + hp + drat + wtfit <- lm(model, df)fit

Objaśnienie kodu

  • model <- mpg ~ . disp + hp + drat + wt: Zapisz model do oszacowania
  • lm (model, df): Oszacuj model z ramką danych df
#### Call:## lm(formula = model, data = df)#### Coefficients:## (Intercept) disp hp drat wt## 16.53357 0.00872 -0.02060 2.01577 -4.38546## qsec## 0.64015

Dane wyjściowe nie zawierają wystarczających informacji o jakości dopasowania. Więcej szczegółów, takich jak znaczenie współczynników, stopień swobody i kształt reszt, można uzyskać za pomocą funkcji summary ().

summary(fit)

Wynik:

## return the p-value and coefficient#### Call:## lm(formula = model, data = df)#### Residuals:## Min 1Q Median 3Q Max## -3.5404 -1.6701 -0.4264 1.1320 5.4996#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 16.53357 10.96423 1.508 0.14362## disp 0.00872 0.01119 0.779 0.44281## hp -0.02060 0.01528 -1.348 0.18936## drat 2.01578 1.30946 1.539 0.13579## wt -4.38546 1.24343 -3.527 0.00158 **## qsec 0.64015 0.45934 1.394 0.17523## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 2.558 on 26 degrees of freedom## Multiple R-squared: 0.8489, Adjusted R-squared: 0.8199## F-statistic: 29.22 on 5 and 26 DF, p-value: 6.892e-10

Wnioskowanie z powyższej tabeli wyjściowej

  • Z powyższej tabeli wynika, że ​​istnieje silna ujemna zależność między wagą a przebiegiem oraz dodatnia zależność z drat.
  • Jedynie zmienna wt ma statystyczny wpływ na mpg. Pamiętaj, aby przetestować hipotezę w statystyce, używamy:
    • H0: brak wpływu statystycznego
    • H3: Predyktor ma znaczący wpływ na y
    • Jeśli wartość p jest mniejsza niż 0,05, oznacza to, że zmienna jest istotna statystycznie
  • Skorygowane R-kwadrat: Wariancja wyjaśniona przez model. W twoim modelu model wyjaśniał 82% wariancji y. R do kwadratu zawsze mieści się w zakresie od 0 do 1. Im wyżej, tym lepiej

Możesz uruchomić test ANOVA, aby oszacować wpływ każdej cechy na wariancje za pomocą funkcji anova ().

anova(fit)

Wynik:

## Analysis of Variance Table#### Response: mpg## Df Sum Sq Mean Sq F value Pr(>F)## disp 1 808.89 808.89 123.6185 2.23e-11 ***## hp 1 33.67 33.67 5.1449 0.031854 *## drat 1 30.15 30.15 4.6073 0.041340 *## wt 1 70.51 70.51 10.7754 0.002933 **## qsec 1 12.71 12.71 1.9422 0.175233## Residuals 26 170.13 6.54## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Bardziej konwencjonalnym sposobem oszacowania wydajności modelu jest przedstawienie reszty w odniesieniu do różnych miar.

Możesz użyć funkcji plot (), aby wyświetlić cztery wykresy:

- Reszty a dopasowane wartości

- Normalny wykres QQ: kwartyl teoretyczny vs reszty standaryzowane

- Lokalizacja skali: dopasowane wartości a pierwiastki kwadratowe standardowych reszt

- Pozostałości a dźwignia: Dźwignia a standardowe reszty

Dodajesz kod par (mfrow = c (2,2)) przed plot (fit). Jeśli nie dodasz tej linii kodu, R wyświetli monit o naciśnięcie klawisza enter, aby wyświetlić następny wykres.

par(mfrow=(2,2))

Objaśnienie kodu

  • (mfrow = c (2,2)): zwraca okno z czterema wykresami obok siebie.
  • Pierwsze 2 dodaje liczbę wierszy
  • Drugie 2 dodaje liczbę kolumn.
  • Jeśli napiszesz (mfrow = c (3,2)): utworzysz okno z 3 wierszami i 2 kolumnami
plot(fit)

Wynik:

Formuła lm () zwraca listę zawierającą wiele przydatnych informacji. Możesz uzyskać do nich dostęp za pomocą utworzonego obiektu dopasowania, a następnie znaku $ i informacji, które chcesz wyodrębnić.

- współczynniki: `dopasuj $ współczynniki`

- residuals: `fit $ residuals`

- wartość dopasowania: `fit $ fit.values`

Regresja czynników

W ostatnim oszacowaniu modelu regresujesz mpg tylko na zmiennych ciągłych. Dodanie zmiennych czynnikowych do modelu jest proste. Dodajesz zmienną am do swojego modelu. Ważne jest, aby mieć pewność, że zmienna jest na poziomie czynnika, a nie ciągła.

df <- mtcars % > %mutate(cyl = factor(cyl),vs = factor(vs),am = factor(am),gear = factor(gear),carb = factor(carb))summary(lm(model, df))

Wynik:

#### Call:## lm(formula = model, data = df)#### Residuals:## Min 1Q Median 3Q Max## -3.5087 -1.3584 -0.0948 0.7745 4.6251#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 23.87913 20.06582 1.190 0.2525## cyl6 -2.64870 3.04089 -0.871 0.3975## cyl8 -0.33616 7.15954 -0.047 0.9632## disp 0.03555 0.03190 1.114 0.2827## hp -0.07051 0.03943 -1.788 0.0939 .## drat 1.18283 2.48348 0.476 0.6407## wt -4.52978 2.53875 -1.784 0.0946 .## qsec 0.36784 0.93540 0.393 0.6997## vs1 1.93085 2.87126 0.672 0.5115## am1 1.21212 3.21355 0.377 0.7113## gear4 1.11435 3.79952 0.293 0.7733## gear5 2.52840 3.73636 0.677 0.5089## carb2 -0.97935 2.31797 -0.423 0.6787## carb3 2.99964 4.29355 0.699 0.4955## carb4 1.09142 4.44962 0.245 0.8096## carb6 4.47757 6.38406 0.701 0.4938## carb8 7.25041 8.36057 0.867 0.3995## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 2.833 on 15 degrees of freedom## Multiple R-squared: 0.8931, Adjusted R-squared: 0.779## F-statistic: 7.83 on 16 and 15 DF, p-value: 0.000124

R używa pierwszego poziomu czynnika jako grupy bazowej. Musisz porównać współczynniki drugiej grupy z grupą podstawową.

Regresja krokowa

Ostatnia część tego samouczka dotyczy algorytmu regresji krokowej . Celem tego algorytmu jest dodawanie i usuwanie potencjalnych kandydatów w modelach oraz zatrzymywanie tych, którzy mają istotny wpływ na zmienną zależną. Ten algorytm ma znaczenie, gdy zbiór danych zawiera dużą listę predyktorów. Nie musisz ręcznie dodawać i usuwać zmiennych niezależnych. Regresja krokowa ma na celu wybranie najlepszych kandydatów pasujących do modelu.

Zobaczmy w akcji, jak to działa. Zestaw danych mtcars jest używany ze zmiennymi ciągłymi tylko w celach edukacyjnych. Przed rozpoczęciem analizy dobrze jest ustalić różnice między danymi za pomocą macierzy korelacji. Biblioteka GGally jest rozszerzeniem ggplot2.

Biblioteka zawiera różne funkcje do wyświetlania statystyk podsumowujących, takich jak korelacja i dystrybucja wszystkich zmiennych w macierzy. Będziemy używać funkcji ggscatmat, ale możesz zapoznać się z winietą, aby uzyskać więcej informacji na temat biblioteki GGally.

Podstawowa składnia ggscatmat () to:

ggscatmat(df, columns = 1:ncol(df), corMethod = "pearson")arguments:-df: A matrix of continuous variables-columns: Pick up the columns to use in the function. By default, all columns are used-corMethod: Define the function to compute the correlation between variable. By default, the algorithm uses the Pearson formula

Wyświetlasz korelację dla wszystkich swoich zmiennych i decydujesz, która z nich będzie najlepszymi kandydatami do pierwszego kroku regresji krokowej. Istnieją pewne silne korelacje między zmiennymi a zmienną zależną, mpg.

library(GGally)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))ggscatmat(df, columns = 1: ncol(df))

Wynik:

Regresja krokowa

Wybór zmiennych jest ważną częścią dopasowania modelu. Regresja krokowa automatycznie wykona proces wyszukiwania. Aby oszacować liczbę możliwych wyborów w zbiorze danych, należy obliczyć, że k jest liczbą predyktorów. Ilość możliwości rośnie wraz z liczbą zmiennych niezależnych. Dlatego musisz mieć automatyczne wyszukiwanie.

Musisz zainstalować pakiet olsrr z CRAN. Pakiet nie jest jeszcze dostępny w Anaconda. Dlatego instalujesz go bezpośrednio z wiersza poleceń:

install.packages("olsrr")

Możesz wykreślić wszystkie podzbiory możliwości z kryteriami dopasowania (tj. R-kwadrat, skorygowany R-kwadrat, kryteria bayesowskie). Model z najniższymi kryteriami AIC będzie modelem ostatecznym.

library(olsrr)model <- mpg~.fit <- lm(model, df)test <- ols_all_subset(fit)plot(test)

Objaśnienie kodu

  • mpg ~ .: Skonstruuj model do oszacowania
  • lm (model, df): Uruchom model OLS
  • ols_all_subset (fit): Skonstruuj wykresy z odpowiednimi informacjami statystycznymi
  • plot (test): Wykreśl wykresy

Wynik:

Modele regresji liniowej wykorzystują test t do oszacowania statystycznego wpływu zmiennej niezależnej na zmienną zależną. Naukowcy ustalili maksymalny próg na 10 procent, przy czym niższe wartości wskazują na silniejszy związek statystyczny. Strategia regresji krokowej jest zbudowana wokół tego testu w celu dodawania i usuwania potencjalnych kandydatów. Algorytm działa w następujący sposób:

  • Krok 1: Regresuj każdy predyktor na y osobno. Mianowicie, cofnij x_1 na y, x_2 na y do x_n. Zapisz wartość p i utrzymuj regresor z wartością p niższą niż zdefiniowany próg (domyślnie 0,1). Predyktory o istotności niższej niż próg zostaną dodane do ostatecznego modelu. Jeśli żadna zmienna nie ma wartości p niższej niż próg wejściowy, algorytm zatrzymuje się, a ostateczny model ma tylko stałą.
  • Krok 2: Użyj predyktora z najniższą wartością p i dodaj osobno jedną zmienną. Regresujesz stałą, najlepszy predyktor pierwszego kroku i trzeciej zmiennej. Dodajesz do modelu krokowego nowe predyktory o wartości niższej niż próg wejściowy. Jeśli żadna zmienna nie ma wartości p niższej niż 0,1, algorytm zatrzymuje się i masz ostateczny model z tylko jednym predyktorem. Regresujesz model krokowy, aby sprawdzić znaczenie najlepszych predyktorów kroku 1. Jeśli jest wyższy niż próg usuwania, zachowujesz go w modelu krokowym. W przeciwnym razie wykluczasz to.
  • Krok 3: Powielasz krok 2 w nowym najlepszym modelu krokowym. Algorytm dodaje predyktory do modelu krokowego na podstawie wprowadzanych wartości i wyklucza predyktor z modelu krokowego, jeśli nie spełnia on progu wykluczającego.
  • Algorytm działa, dopóki nie można dodać ani wykluczyć żadnej zmiennej.

Możesz wykonać algorytm za pomocą funkcji ols_stepwise () z pakietu olsrr.

ols_stepwise(fit, pent = 0.1, prem = 0.3, details = FALSE)

arguments:

-fit: Model to fit. Need to use `lm()`before to run `ols_stepwise()-pent: Threshold of the p-value used to enter a variable into the stepwise model. By default, 0.1-prem: Threshold of the p-value used to exclude a variable into the stepwise model. By default, 0.3-details: Print the details of each step

Wcześniej pokażemy Ci kroki algorytmu. Poniżej znajduje się tabela ze zmiennymi zależnymi i niezależnymi:

Zmienna zależna

Niezależne zmienne

mpg

dysp

hp

drat

wt

qsec

Początek

Na początek algorytm rozpoczyna się od uruchomienia modelu osobno dla każdej zmiennej niezależnej. Tabela przedstawia wartość p dla każdego modelu.

## [[1]]## (Intercept) disp## 3.576586e-21 9.380327e-10#### [[2]]## (Intercept) hp## 6.642736e-18 1.787835e-07#### [[3]]## (Intercept) drat## 0.1796390847 0.0000177624#### [[4]]## (Intercept) wt## 8.241799e-19 1.293959e-10#### [[5]## (Intercept) qsec## 0.61385436 0.01708199

Aby wejść do modelu, algorytm zachowuje zmienną o najniższej wartości p. Z powyższego wyniku jest to wt

Krok 1

W pierwszym kroku algorytm niezależnie uruchamia mpg na wt i innych zmiennych.

## [[1]]## (Intercept) wt disp## 4.910746e-16 7.430725e-03 6.361981e-02#### [[2]]## (Intercept) wt hp## 2.565459e-20 1.119647e-06 1.451229e-03#### [[3]]## (Intercept) wt drat## 2.737824e-04 1.589075e-06 3.308544e-01#### [[4]]## (Intercept) wt qsec## 7.650466e-04 2.518948e-11 1.499883e-03

Każda zmienna jest potencjalnym kandydatem do wejścia do ostatecznego modelu. Jednak algorytm zachowuje tylko zmienną o niższej wartości p. Okazuje się, że hp ma nieco niższą wartość p niż qsec. Dlatego HP wchodzi do ostatecznego modelu

Krok 2

Algorytm powtarza pierwszy krok, ale tym razem z dwiema niezależnymi zmiennymi w ostatecznym modelu.

## [[1]]## (Intercept) wt hp disp## 1.161936e-16 1.330991e-03 1.097103e-02 9.285070e-01#### [[2]]## (Intercept) wt hp drat## 5.133678e-05 3.642961e-04 1.178415e-03 1.987554e-01#### [[3]]## (Intercept) wt hp qsec## 2.784556e-03 3.217222e-06 2.441762e-01 2.546284e-01

Żadna ze zmiennych, które weszły do ​​ostatecznego modelu, nie ma wystarczająco niskiej wartości p. Algorytm zatrzymuje się tutaj; mamy ostateczny model:

#### Call:## lm(formula = mpg ~ wt + hp, data = df)#### Residuals:## Min 1Q Median 3Q Max## -3.941 -1.600 -0.182 1.050 5.854#### Coefficients:## Estimate Std. Error t value Pr(>|t|)## (Intercept) 37.22727 1.59879 23.285 < 2e-16 ***## wt -3.87783 0.63273 -6.129 1.12e-06 ***## hp -0.03177 0.00903 -3.519 0.00145 **## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1#### Residual standard error: 2.593 on 29 degrees of freedom## Multiple R-squared: 0.8268, Adjusted R-squared: 0.8148## F-statistic: 69.21 on 2 and 29 DF, p-value: 9.109e-12 

Do porównania wyników można użyć funkcji ols_stepwise ().

stp_s <-ols_stepwise(fit, details=TRUE)

Wynik:

Algorytm znajduje rozwiązanie po 2 krokach i zwraca te same dane wyjściowe, co poprzednio.

Na koniec możesz powiedzieć, że modele są wyjaśnione przez dwie zmienne i punkt przecięcia z osią. Mila na galon jest ujemnie skorelowana z mocą i masą brutto

## You are selecting variables based on p value… ## 1 variable(s) added… .## Variable Selection Procedure## Dependent Variable: mpg#### Stepwise Selection: Step 1#### Variable wt Entered#### Model Summary## --------------------------------------------------------------## R 0.868 RMSE 3.046## R-Squared 0.753 Coef. Var 15.161## Adj. R-Squared 0.745 MSE 9.277## Pred R-Squared 0.709 MAE 2.341## --------------------------------------------------------------## RMSE: Root Mean Square Error## MSE: Mean Square Error## MAE: Mean Absolute Error## ANOVA## --------------------------------------------------------------------## Sum of## Squares DF Mean Square F Sig.## --------------------------------------------------------------------## Regression 847.725 1 847.725 91.375 0.0000## Residual 278.322 30 9.277## Total 1126.047 31## --------------------------------------------------------------------#### Parameter Estimates## ----------------------------------------------------------------------------------------## model Beta Std. Error Std. Beta t Sig lower upper## ----------------------------------------------------------------------------------------## (Intercept) 37.285 1.878 19.858 0.000 33.450 41.120## wt -5.344 0.559 -0.868 -9.559 0.000 -6.486 -4.203## ----------------------------------------------------------------------------------------## 1 variable(s) added… ## Stepwise Selection: Step 2#### Variable hp Entered#### Model Summary## --------------------------------------------------------------## R 0.909 RMSE 2.593## R-Squared 0.827 Coef. Var 12.909## Adj. R-Squared 0.815 MSE 6.726## Pred R-Squared 0.781 MAE 1.901## --------------------------------------------------------------## RMSE: Root Mean Square Error## MSE: Mean Square Error## MAE: Mean Absolute Error## ANOVA## --------------------------------------------------------------------## Sum of## Squares DF Mean Square F Sig.## --------------------------------------------------------------------## Regression 930.999 2 465.500 69.211 0.0000## Residual 195.048 29 6.726## Total 1126.047 31## --------------------------------------------------------------------#### Parameter Estimates## ----------------------------------------------------------------------------------------## model Beta Std. Error Std. Beta t Sig lower upper## ----------------------------------------------------------------------------------------## (Intercept) 37.227 1.599 23.285 0.000 33.957 40.497## wt -3.878 0.633 -0.630 -6.129 0.000 -5.172 -2.584## hp -0.032 0.009 -0.361 -3.519 0.001 -0.050 -0.013## ----------------------------------------------------------------------------------------## No more variables to be added or removed.

Nauczanie maszynowe

Uczenie maszynowe staje się powszechne wśród analityków danych i jest wdrażane w setkach produktów, z których korzystasz codziennie. Jedną z pierwszych aplikacji ML był filtr spamu .

Poniżej znajdują się inne zastosowania uczenia maszynowego:

  • Identyfikacja niechcianych wiadomości spamowych w wiadomościach e-mail
  • Segmentacja zachowań klientów na potrzeby reklamy ukierunkowanej
  • Ograniczenie nieuczciwych transakcji kartą kredytową
  • Optymalizacja zużycia energii w domu i budynku biurowym
  • Rozpoznawanie twarzy

Nadzorowana nauka

W uczeniu nadzorowanym dane szkoleniowe przekazane do algorytmu zawierają etykietę.

Klasyfikacja jest prawdopodobnie najczęściej stosowaną techniką nadzorowanego uczenia się. Jednym z pierwszych zadań klasyfikacyjnych, którym zajęli się badacze, był filtr spamu. Celem nauki jest przewidzenie, czy wiadomość e-mail zostanie zaklasyfikowana jako spam czy ham (dobra wiadomość e-mail). Maszyna po etapie szkolenia może wykryć klasę wiadomości e-mail.

Regresje są powszechnie używane w dziedzinie uczenia maszynowego do przewidywania wartości ciągłej. Zadanie regresji może przewidzieć wartość zmiennej zależnej na podstawie zestawu zmiennych niezależnych (zwanych także predyktorami lub regresorami). Na przykład regresje liniowe mogą przewidywać cenę akcji, prognozę pogody, sprzedaż i tak dalej.

Oto lista niektórych podstawowych algorytmów uczenia nadzorowanego.

  • Regresja liniowa
  • Regresja logistyczna
  • Najbliżsi sąsiedzi
  • Maszyna wektorów wsparcia (SVM)
  • Drzewa decyzyjne i losowy las
  • Sieci neuronowe

Uczenie się bez nadzoru

W uczeniu się nienadzorowanym dane szkoleniowe nie mają etykiety. System próbuje się uczyć bez odniesienia. Poniżej znajduje się lista algorytmów uczenia się bez nadzoru.

  • K-średnia
  • Hierarchiczna analiza skupień
  • Maksymalizacja oczekiwań
  • Wizualizacja i redukcja wymiarowości
  • Analiza głównych składowych
  • Kernel PCA
  • Osadzanie lokalnie liniowe

Podsumowanie

Zwykłą regresję metodą najmniejszych kwadratów można podsumować w poniższej tabeli:

Biblioteka

Cel

Funkcjonować

Argumenty

baza

Oblicz regresję liniową

lm ()

formuła, dane

baza

Podsumuj model

podsumować()

dopasowanie

baza

Dokładne współczynniki

lm () $ współczynnik

baza

Dokładne reszty

lm () $ reszty

baza

Dokładna dopasowana wartość

lm () $ dopasowane.wartości

olsrr

Uruchom regresję krokową

ols_stepwise ()

dopasowanie, pent = 0,1, prem = 0,3, szczegóły = FAŁSZ

Uwaga : Pamiętaj, aby przed dopasowaniem do modelu przekształcić zmienną kategorialną we współczynnik.