R Jednoduchá, viacnásobná lineárna a postupná regresia (s príkladom)

Obsah:

Anonim

V tomto návode sa naučíte

  • Jednoduchá lineárna regresia
  • Viacnásobná lineárna regresia
  • Spojité premenné
  • Regresia faktorov
  • Postupná regresia
  • Strojové učenie
  • Učenie pod dohľadom
  • Učenie bez dozoru

Jednoduchá lineárna regresia

Lineárna regresia odpovedá na jednoduchú otázku: Môžete zmerať presný vzťah medzi jednou cieľovou premennou a množinou prediktorov?

Najjednoduchším z pravdepodobnostných modelov je priamy model:

kde

  • y = závislá premenná
  • x = nezávislá premenná
  • = náhodná chybová zložka
  • = zachytiť
  • = Koeficient x

Zvážte nasledujúci graf:

Rovnica je intercept. Ak x sa rovná 0, y sa bude rovnať interceptu, 4,77. je sklon priamky. Udáva, v akom pomere sa y mení, keď sa mení x.

Na odhad optimálnych hodnôt použijete metódu nazvanú Ordinary Least Squares (OLS) . Táto metóda sa pokúša nájsť parametre, ktoré minimalizujú súčet štvorcových chýb, čo je vertikálna vzdialenosť medzi predpokladanými hodnotami y a skutočnými hodnotami y. Rozdiel je známy ako chybný výraz .

Pred odhadom modelu môžete vynesením bodového diagramu určiť, či je lineárny vzťah medzi y a x pravdepodobný.

Bodový diagram

Na vysvetlenie pojmu jednoduchá lineárna regresia použijeme veľmi jednoduchý súbor údajov. Budeme importovať priemerné výšky a váhy pre americké ženy. Súbor údajov obsahuje 15 pozorovaní. Chcete zmerať, či sú výšky pozitívne korelované s váhami.

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()

Výkon:

Scatterplot naznačuje všeobecnú tendenciu rastu y, keď sa x zvyšuje. V ďalšom kroku zmeriate, o koľko sa zvýši každý ďalší.

Odhady najmenších štvorcov

V jednoduchej OLS regresii je výpočet priamy. Cieľom nie je v tomto výučbe ukázať odvodenie. Napíšete iba vzorec.

Chcete odhadnúť:

Cieľom OLS regresie je minimalizovať nasledujúcu rovnicu:

kde

je predpokladaná hodnota.

Riešením pre

To znamená priemernú hodnotu x

Riešením pre

V R môžete na odhad použiť funkciu cov () a var () a na odhad

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

Výkon:

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

Výkon:

## [1] -87.51667

Koeficient beta naznačuje, že pre každú ďalšiu výšku sa hmotnosť zvyšuje o 3,45.

Ručný odhad jednoduchej lineárnej rovnice nie je ideálny. R poskytuje vhodnú funkciu na odhad týchto parametrov. Túto funkciu uvidíte čoskoro. Predtým si predstavíme, ako ručne vypočítať jednoduchý lineárny regresný model. Na svojej ceste dátového vedca sotva alebo nikdy neodhadnete jednoduchý lineárny model. Vo väčšine situácií sa regresné úlohy vykonávajú na mnohých odhadoch.

Viacnásobná lineárna regresia

Praktickejšie aplikácie regresnej analýzy využívajú modely, ktoré sú zložitejšie ako jednoduchý lineárny model. Pravdepodobnostný model, ktorý obsahuje viac ako jednu nezávislú premennú, sa nazýva viacnásobné regresné modely . Všeobecná forma tohto modelu je:

V maticovom zápise môžete model prepísať:

Závislá premenná y je teraz funkciou k nezávislých premenných. Hodnota koeficientu .

Stručne predstavíme predpoklad, ktorý sme urobili o náhodnej chybe OLS:

  • Priemer sa rovná 0
  • Rozptyl rovný
  • Normálne rozdelenie
  • Náhodné chyby sú nezávislé (v pravdepodobnostnom zmysle)

Musíte vyriešiť vektor regresných koeficientov, ktorý minimalizuje súčet štvorcových chýb medzi predpokladanou a skutočnou hodnotou y.

Uzavreté riešenie je:

s:

  • označuje transpozíciu matice X
  • označuje invertibilnú maticu

Používame dataset mtcars. Súbor údajov už poznáte. Naším cieľom je predpovedať míľu na galón cez celý rad funkcií.

Spojité premenné

Zatiaľ budete používať iba spojité premenné a odložiť kategorické funkcie. Premenná am je binárna premenná, ktorá má hodnotu 1, ak je prevodovka manuálna, a 0 pre automatické automobily; vs je tiež binárna premenná.

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

Výkon:

## 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… 

Na výpočet parametrov môžete použiť funkciu lm (). Základná syntax tejto funkcie je:

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

Pamätajte, že rovnica má nasledujúcu formu

v R.

  • Symbol = sa nahrádza znakom ~
  • Každé x je nahradené názvom premennej
  • Ak chcete konštantu zrušiť, na koniec vzorca pridajte -1

Príklad:

Chcete odhadnúť váhu jednotlivcov na základe ich výšky a výnosov. Rovnica je

Rovnica v R je napísaná nasledovne:

y ~ X1 + X2 + ... + Xn # S zachytením

Pre náš príklad:

  • Vážiť ~ výška + výnosy

Vaším cieľom je odhadnúť míľu na galón na základe súboru premenných. Odhadovaná rovnica je:

Odhadnete svoju prvú lineárnu regresiu a výsledok uložíte do fitovaného objektu.

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

Vysvetlenie kódu

  • model <- mpg ~ . disp + hp + drat + wt: Uložte model na odhad
  • lm (model, df): Odhad modelu s dátovým rámcom 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

Výstup neposkytuje dostatok informácií o kvalite prispôsobenia. S funkciou Summary () môžete získať prístup k ďalším podrobnostiam, ako sú dôležitosť koeficientov, stupeň voľnosti a tvar zvyškov.

summary(fit)

Výkon:

## 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

Odvodenie z výstupu tabuľky vyššie

  • Vyššie uvedená tabuľka dokazuje, že existuje silný negatívny vzťah medzi hmotnosťou a počtom najazdených kilometrov a pozitívnym vzťahom s bratmi.
  • Iba premenná wt má štatistický vplyv na mpg. Pamätajte, že na otestovanie hypotézy v štatistike používame:
    • H0: Žiadny štatistický vplyv
    • H3: Prediktor má zmysluplný vplyv na r
    • Ak je hodnota p nižšia ako 0,05, znamená to, že premenná je štatisticky významná
  • Upravený štvorcový R: Odchýlka vysvetlená modelom. Vo vašom modeli model vysvetlil 82 percent rozptylu y. R na druhú je vždy medzi 0 a 1. Čím vyššie, tým lepšie

Môžete spustiť test ANOVA a odhadnúť tak vplyv každej funkcie na odchýlky s funkciou anova ().

anova(fit)

Výkon:

## 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

Bežnejším spôsobom odhadu výkonu modelu je zobrazenie zvyšku oproti rôznym mieram.

Pomocou funkcie plot () môžete zobraziť štyri grafy:

- Zvyškové hodnoty vs Prispôsobené hodnoty

- Normálny graf QQ: Teoretický kvartil vs štandardizované zvyšky

- Scale-Location: Prispôsobené hodnoty vs Druhá odmocnina štandardizovaných zvyškov

- Zvyšky vs Páka: Páka vs Štandardizované zvyšky

Pred vykreslenie (prispôsobenie) pridáte kód par (mfrow = c (2,2)). Ak nepridáte tento riadok kódu, R vás vyzve, aby ste stlačili príkaz enter, aby sa zobrazil nasledujúci graf.

par(mfrow=(2,2))

Vysvetlenie kódu

  • (mfrow = c (2,2)): vráti okno so štyrmi grafmi vedľa seba.
  • Prvé 2 pridávajú počet riadkov
  • Druhá 2 pridáva počet stĺpcov.
  • Ak píšete (mfrow = c (3,2)): vytvoríte okno s 3 radmi a 2 stĺpcami
plot(fit)

Výkon:

Vzorec lm () vráti zoznam obsahujúci veľa užitočných informácií. Máte k nim prístup pomocou prispôsobeného objektu, ktorý ste vytvorili, za ktorým nasleduje znak $ a informácie, ktoré chcete extrahovať.

- koeficienty: `fit $ koeficienty`

- residuals: `fit $ residuals`

- prispôsobená hodnota: `fit $ přizpůsobené.hodnoty`

Regresia faktorov

V poslednom odhade modelu regresujete mpg iba na spojité premenné. Je ľahké pridať do modelu premenné faktora. Do svojho modelu pridáte premennú am. Je dôležité ubezpečiť sa, že premenná je na úrovni faktora a nie spojitá.

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

Výkon:

#### 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 používa ako základnú skupinu prvú úroveň faktora. Musíte porovnať koeficienty druhej skupiny so základnou skupinou.

Postupná regresia

Posledná časť tohto tutoriálu sa zaoberá algoritmom postupnej regresie . Účelom tohto algoritmu je pridať a odstrániť potenciálnych kandidátov v modeloch a udržať tých, ktorí majú významný vplyv na závislú premennú. Tento algoritmus má zmysel, keď množina údajov obsahuje veľký zoznam prediktorov. Nezávislé premenné nemusíte pridávať a odstraňovať manuálne. Postupná regresia slúži na výber najlepších kandidátov, ktorí sa hodia k danému modelu.

Pozrime sa v akcii, ako to funguje. Dátový súbor mtcars s spojitými premennými používate iba na pedagogické účely. Než začnete s analýzou, je dobré zistiť variácie medzi údajmi pomocou korelačnej matice. Knižnica GGally je rozšírením ggplot2.

Knižnica obsahuje rôzne funkcie na zobrazovanie súhrnných štatistík, ako je korelácia a distribúcia všetkých premenných v matici. Použijeme funkciu ggscatmat, ale ďalšie informácie o knižnici GGally nájdete na vignete.

Základná syntax pre ggscatmat () je:

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

Zobrazíte koreláciu pre všetky svoje premenné a rozhodnete sa, ktorý z nich bude najlepším kandidátom pre prvý krok postupnej regresie. Medzi vašimi premennými a závislou premennou mpg existuje silná korelácia.

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

Výkon:

Postupná regresia

Výber premenných je dôležitou súčasťou modelu. Postupná regresia vykoná proces vyhľadávania automaticky. Ak chcete odhadnúť, koľko možných možností je v datasete, vypočítajte pomocou k je počet prediktorov. Množstvo možností rastie s počtom nezávislých premenných. Preto musíte mať automatické vyhľadávanie.

Musíte si nainštalovať balík olsrr z CRAN. Balík zatiaľ nie je k dispozícii v službe Anaconda. Preto ho inštalujete priamo z príkazového riadku:

install.packages("olsrr")

Všetky podmnožiny možností môžete vykresliť s kritériami prispôsobenia (tj. Štvorec R, upravený štvorec R, Bayesovské kritériá). Konečným modelom bude model s najnižšími kritériami AIC.

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

Vysvetlenie kódu

  • mpg ~ .: Vytvorte model na odhad
  • lm (model, df): Spustí model OLS
  • ols_all_subset (fit): Zostavte grafy s príslušnými štatistickými informáciami
  • plot (test): Zostrojte grafy

Výkon:

Modely lineárnej regresie používajú t-test na odhad štatistického vplyvu nezávislej premennej na závislú premennú. Vedci stanovili maximálnu hranicu na 10 percent, pričom nižšie hodnoty naznačujú silnejšiu štatistickú súvislosť. Stratégia postupnej regresie je postavená na tomto teste s cieľom pridať a odstrániť potenciálnych kandidátov. Algoritmus funguje nasledovne:

  • Krok 1: Regresia každého prediktora na y osobitne. Menovite regres x_1 v r, x_2 v r na x_n. Uložte hodnotu p a udržujte regresor s hodnotou p nižšou ako je definovaná prahová hodnota (predvolene 0,1). Do finálneho modelu budú pridané prediktory s významnosťou nižšou ako prahová hodnota. Ak žiadna premenná nemá hodnotu p nižšiu ako je zadaná prahová hodnota, algoritmus sa zastaví a váš konečný model bude mať iba konštantu.
  • Krok 2: Použite prediktor s najnižšou p-hodnotou a pridajte samostatne jednu premennú. Postupujete s konštantou, najlepším prediktorom kroku 1 a tretej premennej. Do krokového modelu pridáte nové prediktory s hodnotou nižšou ako je zadaná prahová hodnota. Ak žiadna premenná nemá hodnotu p nižšiu ako 0,1, potom sa algoritmus zastaví a váš konečný model bude mať iba jeden prediktor. Postupujete s krokovým modelom, aby ste skontrolovali význam najlepších prediktorov kroku 1. Ak je vyššia ako prahová hodnota pre odstránenie, ponecháte ju v stupňovitom modeli. V opačnom prípade to vylučujete.
  • Krok 3: Krok 2 replikujete na novom najlepšom postupnom modeli. Algoritmus pridáva prediktory do krokového modelu na základe vstupných hodnôt a vylučuje prediktor z krokového modelu, ak nespĺňa prahovú hodnotu pre vylúčenie.
  • Algoritmus pokračuje, kým nie je možné pridať alebo vylúčiť žiadnu premennú.

Algoritmus môžete vykonať pomocou funkcie ols_stepwise () z balíka 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

Predtým vám ukážeme kroky algoritmu. Ďalej je uvedená tabuľka so závislými a nezávislými premennými:

Závislá premenná

Nezávislé premenné

mpg

disp

hp

brat

hm

qsec

Štart

Algoritmus začína tým, že model sa spustí na každej nezávislej premennej osobitne. Tabuľka zobrazuje hodnotu p pre každý model.

## [[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

Pre vstup do modelu udržuje algoritmus premennú s najnižšou hodnotou p. Z vyššie uvedeného výstupu je to hm

Krok 1

V prvom kroku algoritmus nezávisle spustí mpg na wt a na ďalších premenných.

## [[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ždá premenná je potenciálnym kandidátom na vstup do finálneho modelu. Algoritmus však zachováva iba premennú s nižšou hodnotou p. Ukázalo sa, že hp má o niečo nižšiu p-hodnotu ako qsec. Preto spoločnosť hp vstupuje do finálneho modelu

Krok 2

Algoritmus opakuje prvý krok, ale tentokrát s dvoma nezávislými premennými vo finálnom modeli.

## [[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

Žiadna z premenných, ktoré vstupovali do finálneho modelu, nemá dostatočne nízku p-hodnotu. Algoritmus sa tu zastaví; máme konečný 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 

Na porovnanie výsledkov môžete použiť funkciu ols_stepwise ().

stp_s <-ols_stepwise(fit, details=TRUE)

Výkon:

Algoritmus nájde riešenie po 2 krokoch a vráti rovnaký výstup ako predtým.

Na konci môžete povedať, že modely sú vysvetlené dvoma premennými a interceptom. Míľa na galón má negatívnu koreláciu s hrubým výkonom a hmotnosťou

## 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.

Strojové učenie

Strojové učenie sa medzi dátovými vedcami stáva rozšíreným a je nasadené v stovkách produktov, ktoré denne používate. Jednou z prvých aplikácií ML bol spamový filter .

Nasledujú ďalšie aplikácie strojového učenia -

  • Identifikácia nežiaducich spamových správ v e-mailoch
  • Segmentácia správania zákazníkov pre cielenú reklamu
  • Zníženie počtu podvodných transakcií kreditnou kartou
  • Optimalizácia spotreby energie v domácnosti a kancelárii
  • Rozpoznávanie tváre

Učenie pod dohľadom

Pri výučbe pod dohľadom obsahujú tréningové dáta, ktoré napájate do algoritmu, štítok.

Klasifikácia je pravdepodobne najpoužívanejšou technikou učenia pod dohľadom. Jednou z prvých úloh, ktoré sa výskumníci zaoberali, bol filter spamu. Cieľom tohto učenia je predpovedať, či je e-mail klasifikovaný ako spam alebo ham (dobrý e-mail). Stroj po tréningovom kroku dokáže zistiť triedu e-mailu.

Na predpovedanie nepretržitej hodnoty sa v oblasti strojového učenia bežne používajú regresie . Regresná úloha môže predvídať hodnotu závislej premennej na základe sady nezávislých premenných (nazývaných tiež prediktory alebo regresory). Napríklad lineárne regresie môžu predpovedať cenu akcií, predpoveď počasia, tržby atď.

Tu je zoznam niektorých základných algoritmov učenia pod dohľadom.

  • Lineárna regresia
  • Logistická regresia
  • Najbližší susedia
  • Support Vector Machine (SVM)
  • Rozhodovacie stromy a Náhodný les
  • Neurálne siete

Učenie bez dozoru

Pri učení bez kontroly sú údaje o tréningu neoznačené. Systém sa snaží učiť bez referencie. Ďalej uvádzame zoznam algoritmov učenia bez dozoru.

  • K-priemer
  • Hierarchická klastrová analýza
  • Maximalizácia očakávaní
  • Vizualizácia a redukcia rozmerov
  • Analýza hlavných komponentov
  • Jadro PCA
  • Lokálne-lineárne vkladanie

Zhrnutie

Bežnú najmenšiu štvorcovú regresiu je možné zhrnúť v nasledujúcej tabuľke:

Knižnica

Cieľ

Funkcia

Argumenty

základňa

Vypočítajte lineárnu regresiu

lm ()

vzorec, dáta

základňa

Zhrňte model

sumarizovať ()

fit

základňa

Extrahujte koeficienty

lm () $ koeficient

základňa

Extrahujte zvyšky

lm () $ zvyšky

základňa

Extrahujte prispôsobenú hodnotu

lm () $ prispôsobené.hodnoty

olsrr

Spustite postupnú regresiu

ols_stepwise ()

fit, pent = 0,1, prem = 0,3, podrobnosti = FALSE

Poznámka : Nezabudnite transformovať kategorickú premennú faktorom skôr, aby sa zmestila do modelu.