Регресія: регуляризація

Практика співбесід з Machine Learning у Python

Lisa Stuart

Data Scientist

Алгоритми регуляризації

  • Регресія Ridge
  • Регресія Lasso
  • Регресія ElasticNet
Практика співбесід з Machine Learning у Python

Звичайні найменші квадрати (OLS)

Графік OLS

Формула OLS

1 https://en.wikipedia.org/wiki/Linear_regression#Simple_and_multiple_linear_regression
Практика співбесід з Machine Learning у Python

Функція втрат Ridge

Графік регресії Ridge

Формула регресії Ridge

1 https://gerardnico.com/data_mining/ridge_regression#tuning_parameter_math_lambdamath
Практика співбесід з Machine Learning у Python

Функція втрат Lasso

Графік регресії Lasso

Формула регресії Lasso

1 https://stats.stackexchange.com/questions/155192/why-discrepancy-between-lasso-and-randomforest
Практика співбесід з Machine Learning у Python

Ridge vs Lasso

Регуляризація L1 (Lasso) L2 (Ridge)
штрафує суму модулів коефіцієнтів суму квадратів коефіцієнтів
розв'язки розріджені нерозріджені
кількість розв'язків кілька один
відбір ознак так ні
стійкість до викидів? так ні
складні патерни? ні так
Практика співбесід з Machine Learning у Python

ElasticNet

Формула ElasticNet

Практика співбесід з Machine Learning у Python

Регуляризація на даних Boston housing

Ознаки CHAS NOX RM
Оцінки коефіцієнтів 2.7 -17.8 3.8
Регуляризовані оцінки коефіцієнтів 0 0 0.95
Практика співбесід з Machine Learning у Python

Функції регуляризації

# Оцінювач Lasso 
sklearn.linear_model.Lasso

# Оцінювач Lasso з перехресною перевіркою
sklearn.linear_model.LassoCV

# Оцінювач Ridge
sklearn.linear_model.Ridge

# Оцінювач Ridge з перехресною перевіркою
sklearn.linear_model.RidgeCV

# Оцінювач ElasticNet
sklearn.linear_model.ElasticNet
# Оцінювач ElasticNet з перехресною перевіркою
sklearn.linear_model.ElasticNetCV

# Розбиття на train/test
sklearn.model_selection.train_test_split

# Середньоквадратична похибка
sklearn.metrics.mean_squared_error(y_test, 
                           predict(X_test))
# Найкращий параметр регуляризації
mod_cv.alpha_

# Масив логарифмічних значень
alphas=np.logspace(-6, 6, 13)
Практика співбесід з Machine Learning у Python

Давайте потренуємось!

Практика співбесід з Machine Learning у Python

Preparing Video For Download...