Regressione della cresta in Sklearn

Regressione della cresta in Sklearn
La regressione della cresta è una tecnica nell'apprendimento automatico per regolarizzare i dati utilizzati per eseguire la regressione lineare. È un'ottimizzazione della semplice regressione lineare. In questo articolo, discuteremo di Ride Ridge Regression, dei suoi vantaggi, dei problemi che ha risolto e alla sua implementazione in Sklearn.

Cos'è la regressione della cresta?

Al fine di aumentare l'accuratezza della previsione, la tecnica statistica nota come regressione della cresta riduce l'entità delle stime dei parametri. Funziona particolarmente bene se il set di dati contiene colonne correlate che si tenta di utilizzare come input (variabili indipendenti) nei modelli di regressione, ma nessuno dei tuoi modelli ha prodotto risultati molto accurati. In altre parole, la regressione della cresta è una tecnica di ottimizzazione del modello che viene utilizzata per qualsiasi analisi dei dati multicollinei. I dati sono sottoposti a regolarizzazione L2 usando questo metodo.

La funzione di costo per la regressione della cresta è:

Min (|| y - x (theta) ||^2 + λ || theta ||^2)

Cos'è la multicollinearità?

Il concetto di multicollinearità si basa sulla ricerca statistica. Proprio quando le tue variabili indipendenti hanno un significativo grado di correlazione. La collinearità non influisce direttamente sulla variabile di risposta; Piuttosto, riguarda le interazioni tra le variabili o le caratteristiche predittive. Le stime dei coefficienti di regressione possono essere inaccurate a causa della multicollinearità. Può potenzialmente aumentare gli errori standard del coefficiente di regressione e ridurre l'efficacia di eventuali test t. La multicollinearità può fornire risultati fuorvianti e valori p, aumentando la ridondanza del modello e abbassando l'efficacia e l'affidabilità della prevedibilità.

Vantaggi della regressione della cresta

  • Le guardie contro il modello diventano eccessiva.
  • Non richiede stimatori oggettivi.
  • Esiste solo una piccola quantità di pregiudizi, consentendo alle stime di essere un'approssimazione abbastanza accurata del numero di popolazione autentico.
  • Quando c'è multicollinearità, lo stimatore della cresta è abbastanza utile per migliorare la stima dei minimi quadrati.

Implementazione della regressione della cresta in Sklearn

L'importazione richiede le seguenti librerie:

da Sklearn.Linear_Model Import Ridge
Importa Numpy come NP

Crea il set di dati utilizzando il seguente comando:

n_samples, n_features = 20, 4
data = np.casuale.Randomstate (0)
y = dati.Randn (N_Samples)
X = dati.Randn (n_samples, n_features)
Stampa ("Funzionalità sono", x)
Print ("etichette sono", y)

Produzione:

Le caratteristiche sono [[-2.55298982 0.6536186 0.8644362 -0.74216502]
[2.26975462 -1.45436567 0.04575852 -0.18718385]
[1.53277921 1.46935877 0.15494743 0.37816252]
[-0.88778575 -1.98079647 -0.34791215 0.15634897]
[1.23029068 1.20237985 -0.38732682 -0.30230275]
[-1.04855297 -1.42001794 -1.70627019 1.9507754]
[-0.50965218 -0.4380743 -1.25279536 0.77749036]
[-1.61389785 -0.21274028 -0.89546656 0.3869025]
[-0.51080514 -1.18063218 -0.02818223 0.42833187]
[0.06651722 0.3024719 -0.63432209 -0.36274117]
[-0.67246045 -0.35955316 -0.81314628 -1.7262826]
[0.17742614 -0.40178094 -1.63019835 0.46278226]
[-0.90729836 0.0519454 0.72909056 0.12898291]
[1.13940068 -1.23482582 0.40234164 -0.68481009]
[-0.87079715 -0.57884966 -0.31155253 0.05616534]
[-1.16514984 0.90082649 0.46566244 -1.53624369]
[1.48825219 1.89588918 1.17877957 -0.17992484]
[-1.07075262 1.05445173 -0.40317695 1.22244507]
[0.20827498 0.97663904 0.3563664 0.70657317]
[0.01050002 1.78587049 0.12691209 0.40198936]]
Le etichette sono [1.76405235 0.40015721 0.97873798 2.2408932 1.86755799 -0.97727788
0.95008842 -0.15135721 -0.10321885 0.4105985 0.14404357 1.45427351
0.76103773 0.12167502 0.44386323 0.33367433 1.49407907 -0.20515826
0.3130677 -0.85409574]

Creare e adattarsi al modello:

modello = cresta (alfa = 1.0)
modello.Fit (x, y)

Conclusione

Abbiamo discusso del modello di regressione della cresta nell'apprendimento automatico che viene utilizzato per eseguire la regolarizzazione L2 sui dati per evitare l'adattamento eccessivo. È una versione avanzata di una semplice regressione lineare. Abbiamo anche discusso della sua implementazione usando Sklearn.