Regressione: regolarizzazione

Esercitarsi con le domande di colloquio di Machine Learning in Python

Lisa Stuart

Data Scientist

Algoritmi di regolarizzazione

  • Regressione Ridge
  • Regressione Lasso
  • Regressione ElasticNet
Esercitarsi con le domande di colloquio di Machine Learning in Python

Minimi quadrati ordinari

Grafico OLS

Formula OLS

1 https://en.wikipedia.org/wiki/Linear_regression#Simple_and_multiple_linear_regression
Esercitarsi con le domande di colloquio di Machine Learning in Python

Funzione di perdita Ridge

Grafico regressione Ridge

Formula regressione Ridge

1 https://gerardnico.com/data_mining/ridge_regression#tuning_parameter_math_lambdamath
Esercitarsi con le domande di colloquio di Machine Learning in Python

Funzione di perdita Lasso

Grafico regressione Lasso

Formula regressione Lasso

1 https://stats.stackexchange.com/questions/155192/why-discrepancy-between-lasso-and-randomforest
Esercitarsi con le domande di colloquio di Machine Learning in Python

Ridge vs Lasso

Regolarizzazione L1 (Lasso) L2 (Ridge)
penalizza somma dei valori assoluti dei coefficienti somma dei quadrati dei coefficienti
soluzioni sparse non sparse
numero di soluzioni multiple una
selezione delle feature no
robusto agli outlier? no
pattern complessi? no
Esercitarsi con le domande di colloquio di Machine Learning in Python

ElasticNet

Formula ElasticNet

Esercitarsi con le domande di colloquio di Machine Learning in Python

Regolarizzazione con i dati Boston Housing

Feature CHAS NOX RM
Stime dei coefficienti 2.7 -17.8 3.8
Coefficienti regolarizzati 0 0 0.95
Esercitarsi con le domande di colloquio di Machine Learning in Python

Funzioni per la regolarizzazione

# Lasso estimator 
sklearn.linear_model.Lasso

# Lasso estimator with cross-validation
sklearn.linear_model.LassoCV

# Ridge estimator
sklearn.linear_model.Ridge

# Ridge estimator with cross-validation
sklearn.linear_model.RidgeCV

# ElasticNet estimator
sklearn.linear_model.ElasticNet
# ElasticNet estimator with cross-validation
sklearn.linear_model.ElasticNetCV

# Train/test split
sklearn.model_selection.train_test_split

# Mean squared error
sklearn.metrics.mean_squared_error(y_test, 
                           predict(X_test))
# Best regularization parameter
mod_cv.alpha_

# Array of log values
alphas=np.logspace(-6, 6, 13)
Esercitarsi con le domande di colloquio di Machine Learning in Python

Passons à la pratique !

Esercitarsi con le domande di colloquio di Machine Learning in Python

Preparing Video For Download...