R Regresie liniară în trepte și multiplă [Exemplu pas cu pas]
Regresia liniară simplă în R
Regresia liniară răspunde la o întrebare simplă: puteți măsura o relație exactă între o variabilă țintă și un set de predictori?
Cel mai simplu dintre modelele probabilistice este modelul în linie dreaptă:
Unde
- y = variabilă dependentă
- x = variabilă independentă
-
= componenta de eroare aleatorie
-
= interceptare
-
= Coeficientul lui x
Luați în considerare următorul complot:
Ecuația este este interceptarea. Dacă x este egal cu 0, y va fi egal cu intersecția, 4.77. este panta dreptei. Ea spune în ce proporție variază y când variază x.
Pentru a estima valorile optime ale și
, folosești o metodă numită Cele mai mici pătrate obișnuite (OLS). Această metodă încearcă să găsească parametrii care minimizează suma erorilor pătrate, adică distanța verticală dintre valorile y prezise și valorile y reale. Diferența este cunoscută sub numele de termen de eroare.
Înainte de a estima modelul, puteți determina dacă o relație liniară între y și x este plauzibilă prin reprezentarea unui grafic de dispersie.
Scatterplot
Vom folosi un set de date foarte simplu pentru a explica conceptul de regresie liniară simplă. Vom importa înălțimile și greutățile medii pentru femeile americane. Setul de date conține 15 observații. Doriți să măsurați dacă înălțimile sunt corelate pozitiv cu greutățile.
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()
ieșire:
Graficul de dispersie sugerează o tendință generală pentru y de a crește pe măsură ce x crește. În pasul următor, veți măsura cu cât crește pentru fiecare .
Estimări pentru cele mai mici pătrate
Într-o regresie MOL simplă, calculul și
este simplu. Scopul nu este de a arăta derivarea în acest tutorial. Vei scrie doar formula.
Doriți să estimați:
Scopul regresiei MCO este de a minimiza următoarea ecuație:
Unde
este valoarea reală și
este valoarea prezisă.
Solutia pentru is
Rețineți că înseamnă valoarea medie a lui x
Solutia pentru is
În R, puteți utiliza funcția cov() și var() pentru a estima și puteți utiliza funcția mean() pentru a estima
beta <- cov(df$height, df$weight) / var (df$height) beta
ieșire:
##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height) alpha
ieșire:
## [1] -87.51667
Coeficientul beta implică faptul că pentru fiecare înălțime suplimentară, greutatea crește cu 3.45.
Estimarea manuală a unei ecuații liniare simple nu este ideală. R oferă o funcție adecvată pentru estimarea acestor parametri. Veți vedea această funcție în curând. Înainte de aceasta, vom prezenta cum să calculăm manual un model de regresie liniară simplu. În călătoria dvs. de cercetător al datelor, abia sau niciodată nu veți estima un model liniar simplu. În majoritatea situațiilor, sarcinile de regresie sunt efectuate pe o mulțime de estimatori.
Regresia liniară multiplă în R
Aplicații mai practice ale analizei de regresie folosesc modele care sunt mai complexe decât modelul simplu în linie dreaptă. Se numește modelul probabilistic care include mai multe variabile independente modele de regresie multiple. Forma generală a acestui model este:
În notație matriceală, puteți rescrie modelul:
Variabila dependentă y este acum o funcție a k variabile independente. Valoarea coeficientului determină contribuţia variabilei independente
și
.
Prezentăm pe scurt ipoteza pe care am făcut-o despre eroarea aleatorie din OLS:
- Media egală cu 0
- Varianta egala cu
- Distributie normala
- Erorile aleatorii sunt independente (în sens probabilistic)
Trebuie să rezolvi pentru , vectorul coeficienților de regresie care minimizează suma erorilor pătrate dintre valorile y prezise și reale.
Soluția în formă închisă este:
cu:
- indică transpune a matricei X
indică matrice inversabilă
Folosim setul de date mtcars. Sunteți deja familiarizat cu setul de date. Scopul nostru este de a prezice mila pe galon pentru un set de caracteristici.
Variabile continue în R
Deocamdată, veți folosi doar variabilele continue și veți lăsa deoparte caracteristicile categoriale. Variabila am este o variabilă binară care ia valoarea 1 dacă transmisia este manuală și 0 pentru mașinile automate; vs este, de asemenea, o variabilă binară.
library(dplyr) df <- mtcars % > % select(-c(am, vs, cyl, gear, carb)) glimpse(df)
ieșire:
## Observations: 32 ## Variables: 6 ## $ mpg <dbl> 21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19.... ## $ disp <dbl> 160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 1... ## $ hp <dbl> 110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180, ... ## $ drat <dbl> 3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.9... ## $ wt <dbl> 2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3... ## $ qsec <dbl> 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 2...
Puteți utiliza funcția lm() pentru a calcula parametrii. Sintaxa de bază a acestei funcții este:
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
Amintiți-vă că o ecuație are următoarea formă
în R
- Simbolul = este înlocuit cu ~
- Fiecare x este înlocuit cu numele variabilei
- Dacă doriți să renunțați la constantă, adăugați -1 la sfârșitul formulei
Exemplu:
Doriți să estimați greutatea persoanelor în funcție de înălțimea și veniturile lor. Ecuația este
Ecuația din R se scrie după cum urmează:
y ~ X1+ X2+…+Xn # Cu interceptare
Deci, pentru exemplul nostru:
- Cântărește ~ înălțime + venituri
Obiectivul dumneavoastră este să estimați mila pe galon pe baza unui set de variabile. Ecuația de estimat este:
Veți estima prima regresie liniară și veți stoca rezultatul în obiectul fit.
model <- mpg~.disp + hp + drat + wt fit <- lm(model, df) fit
Explicarea codului
- model <- mpg ~. disp + hp + drat+ wt: stocați modelul pentru estimare
- lm(model, df): Estimați modelul cu cadrul de date 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
Ieșirea nu oferă suficiente informații despre calitatea potrivirii. Puteți accesa mai multe detalii precum semnificația coeficienților, gradul de libertate și forma reziduurilor cu funcția summary().
summary(fit)
ieșire:
## 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
Deducere din rezultatul tabelului de mai sus
- Tabelul de mai sus demonstrează că există o relație negativă puternică între greutate și kilometraj și o relație pozitivă cu drat.
- Doar variabila wt are un impact statistic asupra mpg. Amintiți-vă, pentru a testa o ipoteză în statistică, folosim:
- H0: Fără impact statistic
- H3: predictorul are un impact semnificativ asupra y
- Dacă valoarea p este mai mică de 0.05, aceasta indică că variabila este semnificativă statistic
- R-pătrat ajustat: variația explicată de model. În modelul dvs., modelul a explicat 82% din varianța lui y. R pătratul este întotdeauna între 0 și 1. Cu cât este mai mare, cu atât mai bine
Puteți rula ANOVA test pentru a estima efectul fiecărei caracteristici asupra variațiilor cu funcția anova().
anova(fit)
ieșire:
## 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
O modalitate mai convențională de a estima performanța modelului este afișarea reziduului față de diferite măsuri.
Puteți utiliza funcția plot() pentru a afișa patru grafice:
– Reziduuri vs Valori ajustate
– Graficul QQ normal: Quartila teoretică vs reziduuri standardizate
– Scale-Location: Valori ajustate vs rădăcini pătrate ale reziduurilor standardizate
– Reziduuri vs Levier: Levier vs Reziduuri standardizate
Adăugați codul par(mfrow=c(2,2)) înainte de plot(fit). Dacă nu adăugați această linie de cod, R vă solicită să apăsați comanda enter pentru a afișa următorul grafic.
par(mfrow=(2,2))
Explicarea codului
- (mfrow=c(2,2)): returnează o fereastră cu cele patru grafice unul lângă altul.
- Primele 2 adaugă numărul de rânduri
- Al doilea 2 adaugă numărul de coloane.
- Dacă scrieți (mfrow=c(3,2)): veți crea o fereastră cu 3 rânduri și 2 coloane
plot(fit)
ieșire:
Formula lm() returnează o listă care conține o mulțime de informații utile. Le puteți accesa cu obiectul fit pe care l-ați creat, urmat de semnul $ și de informațiile pe care doriți să le extrageți.
– coeficienți: `fit$coeficienți`
– reziduuri: `fit$rezidus`
– valoare ajustată: `fit$fitted.values`
Regresia factorilor în R
În ultima estimare a modelului, regresați mpg numai pe variabile continue. Este simplu să adăugați variabile factori la model. Adăugați variabila am la modelul dvs. Este important să vă asigurați că variabila este un nivel de factor și nu continuă.
df <- mtcars % > % mutate(cyl = factor(cyl), vs = factor(vs), am = factor(am), gear = factor(gear), carb = factor(carb)) summary(lm(model, df))
ieșire:
## ## 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 folosește primul nivel de factor ca grup de bază. Trebuie să comparați coeficienții celuilalt grup cu grupul de bază.
Regresia liniară în trepte în R
Ultima parte a acestui tutorial tratează regresie în trepte algoritm. Scopul acestui algoritm este de a adăuga și elimina potențiali candidați din modele și de a-i păstra pe cei care au un impact semnificativ asupra variabilei dependente. Acest algoritm este semnificativ atunci când setul de date conține o listă mare de predictori. Nu trebuie să adăugați și să eliminați manual variabilele independente. Regresia în trepte este construită pentru a selecta cei mai buni candidați pentru a se potrivi modelului.
Să vedem în acțiune cum funcționează. Utilizați setul de date mtcars cu variabilele continue numai pentru ilustrare pedagogică. Înainte de a începe analiza, este bine să stabiliți variații între datele cu o matrice de corelație. Biblioteca GGally este o extensie a ggplot2.
Biblioteca include diferite funcții pentru a afișa statistici sumar, cum ar fi corelarea și distribuția tuturor variabilelor dintr-o matrice. Vom folosi funcția ggscatmat, dar vă puteți referi la vinietă pentru mai multe informații despre biblioteca GGally.
Sintaxa de bază pentru ggscatmat() este:
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
Afișați corelația pentru toate variabilele și decideți care dintre ele va fi cei mai buni candidați pentru primul pas al regresiei în trepte. Există unele corelații puternice între variabilele dvs. și variabila dependentă, mpg.
library(GGally) df <- mtcars % > % select(-c(am, vs, cyl, gear, carb)) ggscatmat(df, columns = 1: ncol(df))
ieșire:
Exemplu de regresie pas cu pas
Selectarea variabilelor este o parte importantă pentru a se potrivi unui model. Regresia în trepte va efectua automat procesul de căutare. Pentru a estima câte opțiuni posibile există în setul de date, calculați cu k este numărul de predictori. Cantitatea de posibilități crește odată cu numărul de variabile independente. De aceea trebuie să aveți o căutare automată.
Trebuie să instalați pachetul olsrr din CRAN. Pachetul nu este încă disponibil în Anaconda. Prin urmare, îl instalați direct din linia de comandă:
install.packages("olsrr")
Puteți reprezenta toate subseturile de posibilități cu criteriile de potrivire (adică R-pătrat, R-pătrat ajustat, criterii bayesiene). Modelul cu cel mai mic criteriu AIC va fi modelul final.
library(olsrr) model <- mpg~. fit <- lm(model, df) test <- ols_all_subset(fit) plot(test)
Explicarea codului
- mpg ~.: Construiți modelul de estimat
- lm(model, df): Rulați modelul OLS
- ols_all_subset(potrivire): Construiți graficele cu informațiile statistice relevante
- complot(test): Trasează graficele
ieșire:
Modelele de regresie liniară folosesc testul t pentru a estima impactul statistic al unei variabile independente asupra variabilei dependente. Cercetătorii au stabilit pragul maxim la 10 la sută, cu valori mai mici indică o legătură statistică mai puternică. Strategia regresiei în trepte este construită în jurul acestui test pentru a adăuga și elimina potențialii candidați. Algoritmul funcționează după cum urmează:
- Etapa 1: Regresează fiecare predictor pe y separat. Și anume, regresați x_1 pe y, x_2 pe y la x_n. Depozitați Valoarea p și păstrați regresorul cu o valoare p mai mică decât un prag definit (0.1 implicit). La modelul final vor fi adăugați predictorii cu o semnificație mai mică decât pragul. Dacă nicio variabilă nu are o valoare p mai mică decât pragul de intrare, atunci algoritmul se oprește și aveți modelul final doar cu o constantă.
- Etapa 2: Folosiți predictorul cu cea mai mică valoare p și adaugă separat o variabilă. Regresezi o constantă, cel mai bun predictor al pasului unu și a unei a treia variabile. Adăugați la modelul în trepte noile predictori cu o valoare mai mică decât pragul de intrare. Dacă nicio variabilă nu are o valoare p mai mică de 0.1, atunci algoritmul se oprește și aveți modelul final cu un singur predictor. Regresați modelul treptat pentru a verifica semnificația celor mai buni predictori ai pasului 1. Dacă este mai mare decât pragul de eliminare, îl păstrați în modelul treptat. În caz contrar, îl excludeți.
- Etapa 3: Replicați pasul 2 pe noul cel mai bun model în trepte. Algoritmul adaugă predictori la modelul treptat pe baza valorilor introduse și exclude predictorul din modelul treptat dacă nu satisface pragul de excludere.
- Algoritmul continuă până când nicio variabilă nu poate fi adăugată sau exclusă.
Puteți efectua algoritmul cu funcția ols_stepwise() din pachetul 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
Înainte de aceasta, vă arătăm pașii algoritmului. Mai jos este un tabel cu variabilele dependente și independente:
Variabilă dependentă | Variabile independente |
---|---|
mpg | disponibil |
hp | |
şobolan | |
wt | |
qsec |
acasă
Pentru început, algoritmul începe prin a rula modelul pe fiecare variabilă independentă separat. Tabelul arată valoarea p pentru fiecare 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
Pentru a intra în model, algoritmul păstrează variabila cu cea mai mică valoare p. Din rezultatul de mai sus, este wt
Etapa 1
În primul pas, algoritmul rulează mpg pe wt și celelalte variabile independent.
## [[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
Fiecare variabilă este un potențial candidat pentru a intra în modelul final. Cu toate acestea, algoritmul păstrează doar variabila cu valoarea p mai mică. Se pare că hp are o valoare p puțin mai mică decât qsec. Prin urmare, hp intră în modelul final
Etapa 2
Algoritmul repetă primul pas dar de data aceasta cu două variabile independente în modelul final.
## [[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
Niciuna dintre variabilele care au intrat în modelul final nu are o valoare p suficient de mică. Algoritmul se oprește aici; avem modelul final:
## ## 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
Puteți utiliza funcția ols_stepwise() pentru a compara rezultatele.
stp_s <-ols_stepwise(fit, details=TRUE)
ieșire:
Algoritmul găsește o soluție după 2 pași și returnează aceeași ieșire ca și înainte.
La sfârșit, puteți spune că modelele este explicată prin două variabile și o interceptare. Mila pe galon este corelată negativ cu puterea brută și greutatea
## 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.
Invatare mecanica
Invatare mecanica devine larg răspândit printre oamenii de știință de date și este implementat în sute de produse pe care le utilizați zilnic. Una dintre primele aplicații ML a fost filtru de spam.
Următoarele sunt alte aplicații ale Machine Learning-
- Identificarea mesajelor spam nedorite în e-mail
- Segmentarea comportamentului clienților pentru publicitate direcționată
- Reducerea tranzacțiilor frauduloase cu cardul de credit
- Optimizarea consumului de energie în case și clădiri de birouri
- Recunoastere faciala
Învățare supravegheată
In Învățare supravegheată, datele de antrenament pe care le furnizați algoritmului includ o etichetă.
Clasificare este probabil cea mai utilizată tehnică de învățare supravegheată. Una dintre primele sarcini de clasificare abordate de cercetători a fost filtrul de spam. Obiectivul învățării este de a prezice dacă un e-mail este clasificat ca spam sau ham (e-mail bun). Aparatul, după pasul de antrenament, poate detecta clasa de e-mail.
Regresii sunt utilizate în mod obișnuit în domeniul învățării automate pentru a prezice valoarea continuă. Sarcina de regresie poate prezice valoarea lui a variabilă dependentă bazat pe un set de variabile independente (numiți și predictori sau regresori). De exemplu, regresiile liniare pot prezice prețul acțiunilor, prognoza meteo, vânzările și așa mai departe.
Iată lista unor algoritmi fundamentali de învățare supravegheată.
- Regresie liniara
- Regresie logistică
- Vecinii cei mai apropiați
- Suport Vector Machine (SVM)
- Arbori de decizie și Pădurea aleatorie
- Rețele neuronale
Învățare fără supraveghere
In Învățare fără supraveghere, datele de antrenament sunt neetichetate. Sistemul încearcă să învețe fără referință. Mai jos este o listă de algoritmi de învățare nesupravegheată.
- K-mediu
- Ierarhic Cluster Analiză
- Maximizarea așteptărilor
- Vizualizarea și reducerea dimensionalității
- Analiza componentelor principale
- Kernel PCA
- Încorporare local-liniară
Rezumat
- Regresia liniară răspunde la o întrebare simplă: puteți măsura o relație exactă între o variabilă țintă și un set de predictori?
- Metoda celor mai mici pătrate obișnuite încearcă să găsească parametrii care minimizează suma erorilor pătrate, adică distanța verticală dintre valorile y prezise și valorile reale y.
- Modelul probabilistic care include mai mult de o variabilă independentă se numește modele de regresie multiplă.
- Scopul algoritmului Stepwise Linear Regression este de a adăuga și elimina potențialii candidați din modele și de a-i păstra pe cei care au un impact semnificativ asupra variabilei dependente.
- Selectarea variabilelor este o parte importantă pentru a se potrivi unui model. Regresia în trepte efectuează automat procesul de căutare.
Regresia cel mai mic pătrat obișnuit poate fi rezumată în tabelul de mai jos:
Bibliotecă | Obiectiv | Funcţie | Argumente |
---|---|---|---|
de bază | Calculați o regresie liniară | lm() | formula, date |
de bază | Rezumat modelul | rezuma() | potrivi |
de bază | Extrageți coeficienți | lm()$coeficient | |
de bază | Extrageți reziduurile | lm()$reziduuri | |
de bază | Extrageți valoarea potrivită | lm()$fited.valori | |
olsrr | Executați regresia în trepte | ols_stepwise() | fit, pent = 0.1, prem = 0.3, detalii = FALSE |
notițe: Nu uitați să transformați variabila categorială în factor înainte de a se potrivi cu modelul.