In questo tutorial imparerai
- Regressione lineare semplice
- Regressione lineare multipla
- Variabili continue
- Fattori di regressione
- Regressione graduale
- Apprendimento automatico
- Apprendimento supervisionato
- Apprendimento senza supervisione
Regressione lineare semplice
La regressione lineare risponde a una semplice domanda: è possibile misurare una relazione esatta tra una variabile obiettivo e un insieme di predittori?
Il più semplice dei modelli probabilistici è il modello lineare:
dove
- y = Variabile dipendente
- x = variabile indipendente
= componente errore casuale
= intercetta
= Coefficiente di x
Considera la seguente trama:
L'equazione è è l'intercetta. Se x è uguale a 0, y sarà uguale all'intercetta, 4.77. è la pendenza della linea. Indica in quale proporzione y varia quando x varia.
Per stimare i valori ottimali di , si utilizza un metodo chiamato OLS (Ordinary Least Squares) . Questo metodo cerca di trovare i parametri che minimizzano la somma degli errori al quadrato, ovvero la distanza verticale tra i valori y previsti e i valori y effettivi. La differenza è nota come termine di errore .
Prima di stimare il modello, è possibile determinare se una relazione lineare tra y e x è plausibile tracciando un grafico a dispersione.
Scatterplot
Useremo un set di dati molto semplice per spiegare il concetto di regressione lineare semplice. Importeremo le altezze e i pesi medi per le donne americane. Il set di dati contiene 15 osservazioni. Vuoi misurare se le altezze sono correlate positivamente con i pesi.
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()
Produzione:
Il grafico a dispersione suggerisce una tendenza generale per y ad aumentare all'aumentare di x. Nel passaggio successivo, misurerai di quanto aumenta per ogni ulteriore.
Stime dei minimi quadrati
In una semplice regressione OLS, il calcolo di è semplice. L'obiettivo non è mostrare la derivazione in questo tutorial. Scriverai solo la formula.
Vuoi stimare:
L'obiettivo della regressione OLS è ridurre al minimo la seguente equazione:
dove
è il valore previsto.
La soluzione per
Nota che significa il valore medio di x
La soluzione per
In R, puoi usare la funzione cov () e var () per stimare
beta <- cov(df$height, df$weight) / var (df$height)beta
Produzione:
##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height)alpha
Produzione:
## [1] -87.51667
Il coefficiente beta implica che per ogni altezza aggiuntiva, il peso aumenta di 3,45.
La stima manuale di un'equazione lineare semplice non è l'ideale. R fornisce una funzione adatta per stimare questi parametri. Vedrai questa funzione a breve. Prima di ciò, introdurremo come calcolare a mano un semplice modello di regressione lineare. Nel tuo viaggio di data scientist, stimerai a malapena o mai un semplice modello lineare. Nella maggior parte delle situazioni, le attività di regressione vengono eseguite su molti stimatori.
Regressione lineare multipla
Le applicazioni più pratiche dell'analisi di regressione utilizzano modelli più complessi del semplice modello lineare. Il modello probabilistico che include più di una variabile indipendente è chiamato modelli di regressione multipla . La forma generale di questo modello è:
Nella notazione matriciale, puoi riscrivere il modello:
La variabile dipendente y è ora una funzione di k variabili indipendenti. Il valore del coefficiente .
Introduciamo brevemente l'ipotesi che abbiamo fatto sull'errore casuale dell'OLS:
- Media uguale a 0
- Varianza uguale a
- Distribuzione normale
- Gli errori casuali sono indipendenti (in senso probabilistico)
È necessario risolvere per , il vettore dei coefficienti di regressione che minimizzano la somma degli errori al quadrato tra i valori y previsti ed effettivi.
La soluzione in forma chiusa è:
con:
- indica la trasposizione della matrice X
indica la matrice invertibile
Usiamo il set di dati mtcars. Hai già familiarità con il set di dati. Il nostro obiettivo è prevedere il miglio per gallone su una serie di funzioni.
Variabili continue
Per ora, utilizzerai solo le variabili continue e metti da parte le caratteristiche categoriali. La variabile am è una variabile binaria che assume il valore 1 se la trasmissione è manuale e 0 per le auto automatiche; vs è anche una variabile binaria.
library(dplyr)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))glimpse(df)
Produzione:
## Observations: 32## Variables: 6## $ mpg21.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…
È possibile utilizzare la funzione lm () per calcolare i parametri. La sintassi di base di questa funzione è:
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
Ricorda che un'equazione ha la seguente forma
in R
- Il simbolo = è sostituito da ~
- Ogni x è sostituita dal nome della variabile
- Se vuoi eliminare la costante, aggiungi -1 alla fine della formula
Esempio:
Vuoi stimare il peso delle persone in base alla loro altezza e ai loro guadagni. L'equazione è
L'equazione in R è scritta come segue:
y ~ X1 + X2 +… + Xn # Con intercetta
Quindi per il nostro esempio:
- Pesa ~ altezza + entrate
Il tuo obiettivo è stimare il miglio per gallone in base a una serie di variabili. L'equazione da stimare è:
Stimerai la tua prima regressione lineare e memorizzerai il risultato nell'oggetto di adattamento.
model <- mpg~.disp + hp + drat + wtfit <- lm(model, df)fit
Spiegazione del codice
- modello <- mpg ~ . disp + hp + drat + wt: Memorizza il modello da stimare
- lm (model, df): stima il modello con il data frame 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
L'output non fornisce informazioni sufficienti sulla qualità dell'adattamento. È possibile accedere a maggiori dettagli come il significato dei coefficienti, il grado di libertà e la forma dei residui con la funzione summary ().
summary(fit)
Produzione:
## 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
Inferenza dall'output della tabella sopra
- La tabella sopra dimostra che esiste una forte relazione negativa tra peso e chilometraggio e una relazione positiva con drat.
- Solo la variabile wt ha un impatto statistico su mpg. Ricorda, per testare un'ipotesi in statistica, usiamo:
- H0: nessun impatto statistico
- H3: il predittore ha un impatto significativo su y
- Se il valore p è inferiore a 0,05, indica che la variabile è statisticamente significativa
- R quadrato corretto: varianza spiegata dal modello. Nel tuo modello, il modello ha spiegato l'82% della varianza di y. R al quadrato è sempre compreso tra 0 e 1. Più è alto, meglio è
È possibile eseguire il test ANOVA per stimare l'effetto di ciascuna caratteristica sulle varianze con la funzione anova ().
anova(fit)
Produzione:
## 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
Un modo più convenzionale per stimare le prestazioni del modello consiste nel visualizzare il residuo rispetto a misure diverse.
Puoi usare la funzione plot () per mostrare quattro grafici:
- Valori residui vs valori montati
- Grafico QQ normale: quartile teorico vs residui standardizzati
- Posizione in scala: valori adattati vs radici quadrate dei residui standardizzati
- Residui vs Leva: Leva vs Residui standardizzati
Aggiungi il codice par (mfrow = c (2,2)) prima di plot (fit). Se non aggiungi questa riga di codice, R ti chiede di premere il comando Invio per visualizzare il grafico successivo.
par(mfrow=(2,2))
Spiegazione del codice
- (mfrow = c (2,2)): restituisce una finestra con i quattro grafici affiancati.
- I primi 2 aggiungono il numero di righe
- Il secondo 2 aggiunge il numero di colonne.
- Se scrivi (mfrow = c (3,2)): creerai una finestra di 3 righe e 2 colonne
plot(fit)
Produzione:
La formula lm () restituisce un elenco contenente molte informazioni utili. Puoi accedervi con l'oggetto fit che hai creato, seguito dal segno $ e dalle informazioni che desideri estrarre.
- coefficienti: `fit $ coefficients`
- residui: `fit $ residuals`
- valore adattato: "fit $ fitting.values"
Fattori di regressione
Nell'ultima stima del modello, regredisci mpg solo su variabili continue. È semplice aggiungere variabili fattoriali al modello. Aggiungi la variabile am al tuo modello. È importante assicurarsi che la variabile sia a livello di fattore e non continua.
df <- mtcars % > %mutate(cyl = factor(cyl),vs = factor(vs),am = factor(am),gear = factor(gear),carb = factor(carb))summary(lm(model, df))
Produzione:
#### 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 utilizza il primo livello di fattore come gruppo di base. È necessario confrontare i coefficienti dell'altro gruppo con il gruppo di base.
Regressione graduale
L'ultima parte di questo tutorial tratta l' algoritmo di regressione graduale . Lo scopo di questo algoritmo è aggiungere e rimuovere potenziali candidati nei modelli e mantenere quelli che hanno un impatto significativo sulla variabile dipendente. Questo algoritmo è significativo quando il set di dati contiene un ampio elenco di predittori. Non è necessario aggiungere e rimuovere manualmente le variabili indipendenti. La regressione graduale è costruita per selezionare i migliori candidati per adattarsi al modello.
Vediamo in azione come funziona. Si utilizza il set di dati mtcars con le variabili continue solo per l'illustrazione pedagogica. Prima di iniziare l'analisi, è bene stabilire le variazioni tra i dati con una matrice di correlazione. La libreria GGally è un'estensione di ggplot2.
La libreria include diverse funzioni per mostrare statistiche di riepilogo come la correlazione e la distribuzione di tutte le variabili in una matrice. Useremo la funzione ggscatmat, ma puoi fare riferimento alla vignetta per ulteriori informazioni sulla libreria GGally.
La sintassi di base per ggscatmat () è:
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
Visualizzi la correlazione per tutte le tue variabili e decidi quale saranno i migliori candidati per il primo passo della regressione graduale. Ci sono alcune forti correlazioni tra le tue variabili e la variabile dipendente, mpg.
library(GGally)df <- mtcars % > %select(-c(am, vs, cyl, gear, carb))ggscatmat(df, columns = 1: ncol(df))
Produzione:
Regressione graduale
La selezione delle variabili è una parte importante per adattare un modello. La regressione graduale eseguirà automaticamente il processo di ricerca. Per stimare quante scelte possibili ci sono nell'insieme di dati, si calcola con k il numero di predittori. La quantità di possibilità aumenta con il numero di variabili indipendenti. Ecco perché devi avere una ricerca automatica.
È necessario installare il pacchetto olsrr da CRAN. Il pacchetto non è ancora disponibile in Anaconda. Quindi, lo installi direttamente dalla riga di comando:
install.packages("olsrr")
È possibile tracciare tutti i sottoinsiemi di possibilità con i criteri di adattamento (cioè R-quadrato, R-quadrato aggiustato, criteri bayesiani). Il modello con i criteri AIC più bassi sarà il modello finale.
library(olsrr)model <- mpg~.fit <- lm(model, df)test <- ols_all_subset(fit)plot(test)
Spiegazione del codice
- mpg ~ .: Costruisci il modello da stimare
- lm (model, df): esegue il modello OLS
- ols_all_subset (fit): Costruisci i grafici con le informazioni statistiche pertinenti
- plot (test): traccia i grafici
Produzione:
I modelli di regressione lineare utilizzano il test t per stimare l'impatto statistico di una variabile indipendente sulla variabile dipendente. I ricercatori hanno impostato la soglia massima al 10 percento, con valori più bassi indica un legame statistico più forte. La strategia della regressione graduale è costruita attorno a questo test per aggiungere e rimuovere potenziali candidati. L'algoritmo funziona come segue:
- Passaggio 1: regressione di ciascun predittore su y separatamente. Vale a dire, regredire x_1 su y, x_2 su y in x_n. Memorizza il valore p e mantieni il regressore con un valore p inferiore a una soglia definita (0,1 per impostazione predefinita). I predittori con una significatività inferiore alla soglia verranno aggiunti al modello finale. Se nessuna variabile ha un valore p inferiore alla soglia di immissione, l'algoritmo si interrompe e si ottiene il modello finale solo con una costante.
- Passaggio 2: utilizzare il predittore con il valore p più basso e aggiungere separatamente una variabile. Si regredisce una costante, il miglior predittore del passaggio uno e una terza variabile. Aggiungere al modello graduale i nuovi predittori con un valore inferiore alla soglia di immissione. Se nessuna variabile ha un valore p inferiore a 0,1, l'algoritmo si interrompe e si ottiene il modello finale con un solo predittore. Si regredisce il modello graduale per verificare la significatività dei migliori predittori del passaggio 1. Se è superiore alla soglia di rimozione, lo mantieni nel modello graduale. Altrimenti lo escludi.
- Passaggio 3: si replica il passaggio 2 sul nuovo miglior modello graduale. L'algoritmo aggiunge predittori al modello graduale in base ai valori immessi ed esclude il predittore dal modello graduale se non soddisfa la soglia di esclusione.
- L'algoritmo continua fino a quando nessuna variabile può essere aggiunta o esclusa.
È possibile eseguire l'algoritmo con la funzione ols_stepwise () dal pacchetto 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
Prima di ciò, ti mostriamo i passaggi dell'algoritmo. Di seguito una tabella con le variabili dipendenti e indipendenti:
Variabile dipendente |
Variabili indipendenti |
---|---|
mpg |
disp |
hp |
|
drat |
|
wt |
|
qsec |
Inizio
Per cominciare, l'algoritmo inizia eseguendo il modello su ciascuna variabile indipendente separatamente. La tabella mostra il valore p per ogni modello.
## [[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
Per entrare nel modello, l'algoritmo mantiene la variabile con il valore p più basso. Dall'output di cui sopra, è wt
Passo 1
Nella prima fase, l'algoritmo esegue mpg su wt e le altre variabili in modo indipendente.
## [[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
Ogni variabile è un potenziale candidato per entrare nel modello finale. Tuttavia, l'algoritmo mantiene solo la variabile con il valore p inferiore. Si scopre che hp ha un valore p leggermente inferiore a qsec. Pertanto, HP entra nel modello finale
Passo 2
L'algoritmo ripete il primo passaggio ma questa volta con due variabili indipendenti nel modello finale.
## [[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
Nessuna delle variabili inserite nel modello finale ha un valore p sufficientemente basso. L'algoritmo si ferma qui; abbiamo il modello finale:
#### 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
È possibile utilizzare la funzione ols_stepwise () per confrontare i risultati.
stp_s <-ols_stepwise(fit, details=TRUE)
Produzione:
L'algoritmo trova una soluzione dopo 2 passaggi e restituisce lo stesso output di prima.
Alla fine, puoi dire che i modelli sono spiegati da due variabili e un'intercetta. Il miglio per gallone è correlato negativamente con la potenza lorda e il peso
## 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.
Apprendimento automatico
L'apprendimento automatico si sta diffondendo tra i data scientist e viene implementato in centinaia di prodotti che utilizzi quotidianamente. Una delle prime applicazioni ML è stata il filtro antispam .
Di seguito sono riportate altre applicazioni dell'apprendimento automatico:
- Identificazione di messaggi di spam indesiderati nelle e-mail
- Segmentazione del comportamento dei clienti per pubblicità mirata
- Riduzione delle transazioni fraudolente con carta di credito
- Ottimizzazione del consumo energetico in edifici domestici e uffici
- Riconoscimento facciale
Apprendimento supervisionato
Nell'apprendimento supervisionato , i dati di addestramento forniti all'algoritmo includono un'etichetta.
La classificazione è probabilmente la tecnica di apprendimento supervisionato più utilizzata. Uno dei primi compiti di classificazione affrontati dai ricercatori è stato il filtro antispam. L'obiettivo dell'apprendimento è prevedere se un'e-mail è classificata come spam o ham (buona posta elettronica). La macchina, dopo la fase di addestramento, è in grado di rilevare la classe di posta elettronica.
Le regressioni sono comunemente utilizzate nel campo del machine learning per prevedere il valore continuo. L'attività di regressione può prevedere il valore di una variabile dipendente in base a un insieme di variabili indipendenti (chiamate anche predittori o regressori). Ad esempio, le regressioni lineari possono prevedere il prezzo delle azioni, le previsioni del tempo, le vendite e così via.
Ecco l'elenco di alcuni algoritmi fondamentali di apprendimento supervisionato.
- Regressione lineare
- Regressione logistica
- Vicini più vicini
- Support Vector Machine (SVM)
- Alberi decisionali e foresta casuale
- Reti neurali
Apprendimento senza supervisione
Nell'apprendimento senza supervisione , i dati di addestramento non sono etichettati. Il sistema cerca di imparare senza un riferimento. Di seguito è riportato un elenco di algoritmi di apprendimento non supervisionati.
- K-mean
- Analisi gerarchica dei cluster
- Massimizzazione delle aspettative
- Visualizzazione e riduzione della dimensionalità
- Analisi del componente principale
- PCA del kernel
- Incorporamento localmente lineare
Sommario
La regressione ordinaria dei minimi quadrati può essere riassunta nella tabella seguente:
Biblioteca |
Obbiettivo |
Funzione |
argomenti |
---|---|---|---|
base |
Calcola una regressione lineare |
lm () |
formula, dati |
base |
Riassumi il modello |
riassumere() |
in forma |
base |
Coefficienti di estrazione |
lm () $ coefficiente | |
base |
Estrarre i residui |
lm () $ residui | |
base |
Estrai il valore adattato |
lm () $ fitting.values | |
olsrr |
Esegui la regressione graduale |
ols_stepwise () |
fit, pent = 0.1, prem = 0.3, details = FALSE |
Nota : ricordarsi di trasformare la variabile categoriale in fattore prima di adattare il modello.