R Stepwise e Regressione lineare multipla [Esempio passo dopo passo]
Regressione lineare semplice in R
La regressione lineare risponde a una semplice domanda: puoi misurare una relazione esatta tra una variabile target e un insieme di predittori?
Il modello probabilistico più semplice è il modello a linea retta:
where
- y = variabile dipendente
- x = Variabile indipendente
-
= componente di errore casuale
-
= intercettare
-
= Coefficiente di x
Consideriamo il seguente grafico:
L'equazione è è l'intercettazione. Se x è uguale a 0, y sarà uguale all'intercetta, 4.77. è la pendenza della retta. Indica in quale proporzione varia y al variare di x.
Per stimare i valori ottimali di che a
, usi un metodo chiamato Minimi quadrati ordinari (OLS). Questo metodo cerca di trovare i parametri che minimizzano la somma degli errori quadrati, 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.
Grafico a dispersione
Utilizzeremo 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 di y ad aumentare all’aumentare di x. Nel passaggio successivo, misurerai l'aumento per ogni ulteriore .
Stime dei minimi quadrati
In una semplice regressione OLS, il calcolo di che a
è semplice. L'obiettivo non è mostrare la derivazione in questo tutorial. Scriverai solo la formula.
Vuoi stimare:
L'obiettivo della regressione OLS è minimizzare la seguente equazione:
where
è il valore effettivo e
è il valore previsto.
La soluzione per is
Si noti che indica il valore medio di x
La soluzione per is
In R, puoi utilizzare la funzione cov() e var() per stimare e puoi usare la funzione mean() 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 una semplice equazione lineare non è l'ideale. R fornisce una funzione adatta per stimare questi parametri. Vedrai questa funzione a breve. Prima di ciò, introdurremo come calcolare manualmente un semplice modello di regressione lineare. Nel tuo viaggio da scienziato dei dati, stimerai a malapena o mai un semplice modello lineare. Nella maggior parte dei casi, le attività di regressione vengono eseguite su molti stimatori.
Regressione lineare multipla in R
Le applicazioni più pratiche dell'analisi di regressione impiegano modelli più complessi del semplice modello rettilineo. 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 determina il contributo della variabile indipendente
che a
.
Introduciamo brevemente l'ipotesi che abbiamo fatto sull'errore casuale dell'OLS:
- Media pari a 0
- Varianza pari a
- Distribuzione normale
- Gli errori casuali sono indipendenti (in senso probabilistico)
Devi risolvere per , il vettore dei coefficienti di regressione che minimizzano la somma degli errori quadratici tra i valori y previsti e quelli effettivi.
La soluzione in forma chiusa è:
con:
- indica il trasporre della matrice X
indica il matrice invertibile
Utilizziamo 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 caratteristiche.
Variabili continue in R
Per ora, userete solo le variabili continue e metterete 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; anche vs è una variabile binaria.
library(dplyr) df <- mtcars % > % select(-c(am, vs, cyl, gear, carb)) glimpse(df)
Produzione:
## 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...
È 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 alle loro entrate. L'equazione è
L'equazione in R è scritta come segue:
y ~ X1+ X2+…+Xn # Con intercetta
Quindi per il nostro esempio:
- Pesare ~ 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 adattato.
model <- mpg~.disp + hp + drat + wt fit <- lm(model, df) fit
Spiegazione del codice
- modello <- mpg ~. disp + hp + drat+ wt: memorizza il modello da stimare
- lm(modello, df): stima il modello con il frame di dati 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 la significatività 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 precedente
- La tabella sopra dimostra che esiste una forte relazione negativa tra wt e chilometraggio e una relazione positiva con drat.
- Solo la variabile wt ha un impatto statistico sul 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 spiega l'82% della varianza di y. R al quadrato è sempre compreso tra 0 e 1. Più alto è, meglio è
È possibile eseguire il ANOVA test 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 è visualizzare il residuo rispetto a misure diverse.
Puoi utilizzare la funzione plot() per mostrare quattro grafici:
– Residui vs valori adattati
– Grafico QQ normale: quartile teorico vs residui standardizzati
– Posizione della scala: valori stimati rispetto alle 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: `coefficienti$di adattamento`
– residui: `fit$residui`
– valore adattato: `fit$fitted.values`
Regressione ai fattori in R
Nell'ultima stima del modello, si regredisce mpg solo su variabili continue. È semplice aggiungere variabili fattore 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 base. È necessario confrontare i coefficienti dell'altro gruppo con il gruppo base.
Regressione lineare graduale in R
L'ultima parte di questo tutorial riguarda il regressione graduale algoritmo. 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 stepwise è costruita per selezionare i migliori candidati per adattarsi al modello.
Vediamo in azione come funziona. Utilizzi 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 riassuntive come la correlazione e la distribuzione di tutte le variabili in una matrice. Utilizzeremo la funzione ggscatmat, ma puoi fare riferimento al file vignette per ulteriori informazioni sulla biblioteca 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 sarà la migliore candidata per il primo passaggio della regressione stepwise. 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:
Esempio di regressione graduale passo dopo passo
La selezione delle variabili è una parte importante per adattare un modello. La regressione stepwise eseguirà il processo di ricerca automaticamente. Per stimare quante possibili scelte ci sono nel set di dati, si calcola con k è il numero di predittori. La quantità di possibilità aumenta con il numero di variabili indipendenti. Ecco perché è necessario disporre di 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 (ad esempio R-quadrato, R-quadrato corretto, 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): esegui il modello OLS
- ols_all_subset(fit): costruisce i grafici con le informazioni statistiche rilevanti
- tracciare(prova): 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 inferiori che indicano un collegamento statistico più forte. La strategia della regressione graduale è costruita attorno a questo test per aggiungere e rimuovere potenziali candidati. L'algoritmo funziona come segue:
- Passo 1 : regredisce ciascun predittore su y separatamente. Vale a dire, regredire x_1 su y, x_2 su y a x_n. Conservare il p-value e mantenere il regressore con un valore p inferiore a una soglia definita (0.1 per impostazione predefinita). I predittori con 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.
- Passo 2 : Utilizza il predittore con il valore p più basso e aggiungi separatamente una variabile. Regredisci una costante, il miglior predittore del passaggio uno e una terza variabile. Aggiungi al modello stepwise i nuovi predittori con un valore inferiore alla soglia di ingresso. Se nessuna variabile ha un valore p inferiore a 0.1, l'algoritmo si ferma e hai il tuo modello finale con un solo predittore. Regredisci il modello stepwise per controllare la significatività dei migliori predittori del passaggio 1. Se è superiore alla soglia di rimozione, lo mantieni nel modello stepwise. Altrimenti, lo escludi.
- Passo 3 : Si replica il passaggio 2 sul nuovo modello stepwise migliore. L'algoritmo aggiunge predittori al modello stepwise in base ai valori immessi ed esclude il predittore dal modello stepwise se non soddisfa la soglia di esclusione.
- L'algoritmo continua finché non è possibile aggiungere o escludere alcuna variabile.
È possibile eseguire l'algoritmo con la funzione ols_stepwise() del 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 è riportata una tabella con le variabili dipendenti e indipendenti:
Variabile dipendente | Variabili indipendenti |
---|---|
mpg | a disposizione |
hp | |
dra | |
wt | |
qsec |
Inizia
Per cominciare, l'algoritmo inizia eseguendo il modello separatamente su ciascuna variabile indipendente. La tabella mostra il valore p per ciascun 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 sopra, è wt
Passo 1
Nella prima fase, l'algoritmo esegue mpg su wt e sulle 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 più basso. Risulta 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, si può dire che il modello è spiegato 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.
machine Learning
machine Learning si sta diffondendo tra i data scientist e viene implementato in centinaia di prodotti utilizzati quotidianamente. Una delle prime applicazioni ML è stata filtro antispam.
Di seguito sono riportate altre applicazioni del Machine Learning:
- Identificazione dei messaggi di spam indesiderati nella posta elettronica
- Segmentazione del comportamento dei clienti per pubblicità mirata
- Riduzione delle transazioni fraudolente con carta di credito
- Ottimizzazione del consumo energetico in abitazioni e uffici
- Riconoscimento facciale
Apprendimento supervisionato
In Apprendimento supervisionato, i dati di addestramento forniti all'algoritmo includono un'etichetta.
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 e-mail). La macchina, dopo la fase di addestramento, può rilevare la classe dell'e-mail.
regressioni sono comunemente utilizzati nel campo dell'apprendimento automatico per prevedere il valore continuo. L'attività di regressione può prevedere il valore di a variabile dipendente basato su un insieme di variabili indipendenti (chiamati 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
- Supporta la macchina vettoriale (SVM)
- Alberi decisionali e foresta casuale
- Reti neurali
Apprendimento senza supervisione
In Apprendimento senza supervisione, i dati di addestramento sono senza etichetta. Il sistema tenta di apprendere senza riferimento. Di seguito è riportato un elenco di algoritmi di apprendimento non supervisionato.
- K-significa
- Hierarchical Cluster Analisi
- Massimizzazione delle aspettative
- Visualizzazione e riduzione della dimensionalità
- Analisi del componente principale
- PCA del kernel
- Incorporamento localmente lineare
Sommario
- La regressione lineare risponde a una semplice domanda: puoi misurare una relazione esatta tra una variabile target e un insieme di predittori?
- Il metodo dei minimi quadrati ordinari cerca di trovare i parametri che minimizzano la somma degli errori quadratici, ovvero la distanza verticale tra i valori y previsti e i valori y effettivi.
- Il modello probabilistico che include più di una variabile indipendente è chiamato modello di regressione multipla.
- Lo scopo dell'algoritmo di regressione lineare graduale è quello di aggiungere e rimuovere potenziali candidati nei modelli e mantenere quelli che hanno un impatto significativo sulla variabile dipendente.
- La selezione delle variabili è una parte importante per adattare un modello. La regressione stepwise esegue il processo di ricerca automaticamente.
La regressione ordinaria ai minimi quadrati può essere riassunta nella tabella seguente:
Biblioteca | Obiettivo | Funzione | argomenti |
---|---|---|---|
base | Calcolare una regressione lineare | lom() | formula, dati |
base | Riassumere il modello | riassumere() | in forma |
base | Estrarre i coefficienti | lm()$coefficiente | |
base | Estrarre i residui | lm()$residui | |
base | Estrarre il valore adattato | lm()$valori.adattati | |
olsrr | Eseguire una regressione graduale | ols_passo dopo passo() | fit, pent = 0.1, prem = 0.3, dettagli = FALSO |
Note:: Ricordarsi di trasformare la variabile categoriale in fattore prima di adattare il modello.