R Regresie simplă, multiplă liniară și în trepte (cu exemplu)

Cuprins:

Anonim

În acest tutorial, veți învăța

  • Regresie liniară simplă
  • Regresie liniară multiplă
  • Variabile continue
  • Regresia factorilor
  • Regresie în trepte
  • Învățare automată
  • Învățare supravegheată
  • Învățare nesupravegheată

Regresie liniară simplă

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ă
  • = componentă 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 interceptarea, 4.77. este panta liniei. Indică în ce proporție y variază când x variază.

Pentru a estima valorile optime ale , utilizați o metodă numită Ordinary Least Squares (OLS) . Această metodă încearcă să găsească parametrii care reduc la minimum suma erorilor pătrate, adică distanța verticală dintre valorile y prevăzute și valorile y reale. Diferența este cunoscută sub numele de termen de eroare .

Înainte de a estima modelul, puteți stabili dacă o relație liniară între y și x este plauzibilă prin trasarea unui diagramă 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:

Diagrama de împrăștiere sugerează o tendință generală pentru y să crească pe măsură ce x crește. În pasul următor, veți măsura cu cât crește pentru fiecare supliment.

Estimări ale celor mai mici pătrate

Într-o simplă regresie OLS, calculul este simplu. Scopul nu este de a arăta derivarea în acest tutorial. Veți scrie doar formula.

Doriți să estimați:

Scopul regresiei OLS este de a minimiza următoarea ecuație:

Unde

este valoarea prezisă.

Soluția pentru

Rețineți că înseamnă valoarea medie a lui x

Soluția pentru

În R, puteți utiliza funcțiile cov () și var () 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 ecuației liniare simple nu este ideală. R oferă o funcție adecvată pentru a estima acești parametri. Veți vedea această funcție în curând. Înainte de aceasta, vom introduce cum să calculăm manual un model de regresie liniar simplu. În călătoria dvs. de om de știință al datelor, abia sau niciodată nu veți estima un model liniar simplu. În cele mai multe situații, sarcinile de regresie sunt efectuate pe o mulțime de estimatori.

Regresie liniară multiplă

Aplicații mai practice ale analizei de regresie utilizează modele care sunt mai complexe decât modelul liniar simplu. Modelul probabilistic care include mai multe variabile independente se numește modele de regresie multiplă . Forma generală a acestui model este:

În notația matricială, puteți rescrie modelul:

Variabila dependentă y este acum o funcție a k variabile independente. Valoarea coeficientului .

Introducem pe scurt ipoteza pe care am făcut-o cu privire la eroarea aleatorie a OLS:

  • Media egală cu 0
  • Varianță egală cu
  • Distributie normala
  • Erorile aleatorii sunt independente (în sens probabilistic)

Trebuie să rezolvați vectorul coeficienților de regresie care minimizează suma erorilor pătrate dintre valorile y prezise și cele reale.

Soluția în formă închisă este:

cu:

  • indică transpunerea matricei X
  • indică matricea inversabilă

Folosim setul de date mtcars. Sunteți deja familiarizat cu setul de date. Scopul nostru este de a prezice mila pe galon pe un set de caracteristici.

Variabile continue

Deocamdată, veți folosi doar variabilele continue și veți lăsa deoparte caracteristicile categorice. 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  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… 

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 acestora. Ecuația este

Ecuația din R este scrisă după cum urmează:

y ~ X1 + X2 + ... + Xn # Cu interceptare

Deci, pentru exemplul nostru:

  • Cântărește ~ înălțime + venit

Obiectivul dvs. este de a estima mila pe galon pe baza unui set de variabile. Ecuația de estimat este:

Veți estima prima dvs. regresie liniară și veți stoca rezultatul în obiectul potrivit.

model <- mpg~.disp + hp + drat + wtfit <- 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 sumar ().

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

Inferință din ieșirea din tabelul de mai sus

  • Tabelul de mai sus demonstrează că există o relație negativă puternică între greutate și kilometraj și relația pozitivă cu drat.
  • Doar variabila wt are un impact statistic asupra mpg. Nu uitați, pentru a testa o ipoteză în statistică, folosim:
    • H0: Fără impact statistic
    • H3: predictorul are un impact semnificativ asupra lui
    • Dacă valoarea p este mai mică de 0,05, aceasta indică faptul că variabila este semnificativă statistic
  • R-pătrat ajustat: Varianța explicată de model. În modelul dvs., modelul a explicat 82 la sută din varianța lui y. R pătrat este întotdeauna între 0 și 1. Cu cât este mai mare cu atât mai bine

Puteți rula testul ANOVA pentru a estima efectul fiecărei caracteristici asupra diferențelor 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 de a afișa reziduul împotriva diferitelor măsuri.

Puteți utiliza funcția plot () pentru a afișa patru grafice:

- Reziduuri vs valori ajustate

- Grafic QQ normal: Cvartilă teoretică vs reziduuri standardizate

- Scale-Location: valori potrivite vs rădăcini pătrate ale reziduurilor standardizate

- Reziduuri vs Leverage: Leverage vs reziduuri standardizate

Adăugați codul par (mfrow = c (2,2)) înainte de grafic (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 una lângă alta.
  • 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, 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 potrivit pe care l-ați creat, urmat de semnul $ și informațiile pe care doriți să le extrageți.

- coeficienți: „se potrivesc coeficienților $”

- reziduuri: „se potrivesc cu $ reziduuri”

- valoare ajustată: `fit $ fixed.values`

Regresia factorilor

În ultima estimare a modelului, regresați mpg numai la variabilele continue. Este simplu să adăugați variabile factor 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ă.

Regresie în trepte

Ultima parte a acestui tutorial se referă la algoritmul de regresie în trepte . Scopul acestui algoritm este de a adăuga și elimina potențialii candidați în 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 este nevoie să adăugați și să eliminați manual variabilele independente. Regresia în trepte este construită pentru a selecta cei mai buni candidați care se potrivesc 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 sumare, cum ar fi corelarea și distribuția tuturor variabilelor dintr-o matrice. Vom folosi funcția ggscatmat, dar puteți consulta vigneta 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 dvs. și decideți care dintre aceștia vor fi cei mai buni candidați pentru primul pas al regresiei treptate. Există câteva 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:

Regresie în trepte

Selecția 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 alegeri posibile există în setul de date, calculați cu k este numărul de predictori. Cantitatea de posibilități crește cu numărul de variabile independente. De aceea, trebuie să aveți o căutare automată.

Trebuie să instalați pachetul olsrr de la CRAN. Pachetul nu este încă disponibil în Anaconda. Prin urmare, îl instalați direct din linia de comandă:

install.packages("olsrr")

Puteți parcela toate subseturile de posibilități cu criteriile de potrivire (de exemplu, R-square, R-square ajustat, criterii bayesiene). Modelul cu cele mai scăzute criterii 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 (fit): 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%, valorile mai mici indicând o legătură statistică mai puternică. Strategia regresiei în trepte este construită în jurul acestui test pentru a adăuga și a elimina potențiali candidați. Algoritmul funcționează după cum urmează:

  • Pasul 1: Regresează fiecare predictor pe y separat. Și anume, regresa x_1 pe y, x_2 pe y la x_n. Stocați valoarea p și păstrați regresorul cu o valoare p mai mică decât un prag definit (0,1 în mod implicit). Predictorii cu o semnificație mai mică decât pragul vor fi adăugați la modelul final. 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ă.
  • Pasul 2: utilizați predictorul cu cea mai mică valoare p și adăugați separat o variabilă. Regresezi o constantă, cel mai bun predictor al pasului unu și a treia variabilă. Adăugați la modelul în trepte, noii 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 în trepte 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.
  • Pasul 3: reproduceț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 îndeplinește 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

disp

hp

drat

wt

qsec

start

Pentru început, algoritmul începe prin rularea modelului separat pe fiecare variabilă independentă. Tabelul prezintă 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 introduce modelul, algoritmul păstrează variabila cu cea mai mică valoare p. Din ieșirea de mai sus, este în greutate

Pasul 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 ușor mai mică decât qsec. Prin urmare, hp intră în modelul final

Pasul 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 scăzută. 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 pe care o aveam înainte.

La final, puteți spune că modelele sunt explicate prin două variabile și o interceptare. Mila per 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.

Învățare automată

Învățarea automată se răspândește în rândul cercetătorilor de date și este implementată în sute de produse pe care le folosiți zilnic. Una dintre primele aplicații ML a fost filtrul de spam .

Următoarele sunt alte aplicații de învățare automată-

  • Identificarea mesajelor spam nedorite în e-mail
  • Segmentarea comportamentului clienților pentru publicitatea direcționată
  • Reducerea tranzacțiilor frauduloase cu cardul de credit
  • Optimizarea utilizării energiei în clădirile de locuințe și birouri
  • Recunoastere faciala

Învățare supravegheată

În învățarea supravegheată , datele de instruire pe care le furnizați algoritmului includ o etichetă.

Clasificarea este probabil cea mai folosită 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). Mașina, după etapa de instruire, poate detecta clasa de e-mail.

Regresiunile sunt utilizate în mod obișnuit în câmpul de învățare automată pentru a prezice valoarea continuă. Sarcina de regresie poate prezice valoarea unei variabile dependente pe baza unui set de variabile independente (numite ș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 câtorva algoritmi fundamentali de învățare supravegheați.

  • Regresie liniara
  • Regresie logistică
  • Vecinii cei mai apropiați
  • Suport pentru mașini vectoriale (SVM)
  • Arborii de decizie și Random Forest
  • Rețele neuronale

Învățare nesupravegheată

În procesul de învățare nesupravegheat , datele de formare nu sunt etichetate. Sistemul încearcă să învețe fără o referință. Mai jos este o listă de algoritmi de învățare nesupravegheați.

  • K-mean
  • Analiza ierarhică a clusterelor
  • Maximizarea așteptărilor
  • Vizualizare și reducere a dimensionalității
  • Analiza componentelor principale
  • Kernel PCA
  • Incorporare liniară locală

rezumat

Regresia cea mai puțin pătrată obișnuită poate fi rezumată în tabelul de mai jos:

Bibliotecă

Obiectiv

Funcţie

Argumente

baza

Calculați o regresie liniară

lm ()

formula, date

baza

Rezumați modelul

rezuma()

potrivi

baza

Coeficienți Exactract

lm () $ coeficient

baza

Exctract reziduuri

lm () $ reziduuri

baza

Exctract valoarea ajustată

lm () $ montat.valori

olsrr

Rulați regresia în trepte

ols_stepwise ()

fit, pent = 0,1, prem = 0,3, detalii = FALS

Notă : nu uitați să transformați variabila categorică în factor înainte de a se potrivi modelului.