建网站免费空间,中山做网站,公司网站可以不买域名吗,wordpress问答站模板正则化的原理是尽可能多的将数据中的特征塞进最终模型#xff0c;特征越多越可以更好地解释数据集的错综复杂。在应用正则化后#xff0c;每个特征对模型部分的解释程度可能完全不同。通过使用正则化可以减少数据集的噪声#xff0c;这些噪声可能来对最终模型几乎没有形象的… 正则化的原理是尽可能多的将数据中的特征塞进最终模型特征越多越可以更好地解释数据集的错综复杂。在应用正则化后每个特征对模型部分的解释程度可能完全不同。通过使用正则化可以减少数据集的噪声这些噪声可能来对最终模型几乎没有形象的特征。为了利用这种正则化技术可以调用特定类型的回归模型称为套索回归lasso regression,此处使用的R语言自带的数据集mtcars数据集。 原书(Introduction to Machine Learning with R)使用的是lasso2包的l1ce()函数此包已弃用采用从历史文档手动安装的方式无法与现在的R版本匹配故改用glmnet包的cv.glmnet函数。
library(glmnet) # 选择特征和设置响应变量
#可改成(mpg ~ wy cyl)
x - model.matrix(mpg ~ ., data mtcars)[, -1]
y - mtcars$mpg# 执行Lasso交叉验证
cv_fit - cv.glmnet(x, y, alpha 1)
# 根据最小MSE选择lambda值
optimal_lambda - cv_fit$lambda.min
# 拟合最终Lasso模型
lasso_model - glmnet(x, y, alpha 1, lambda optimal_lambda) print(coef(lasso_model))
print(cv_fit)
输出
11 x 1 sparse Matrix of class dgCMatrixs0
(Intercept) 36.44441107
cyl -0.89269853
disp .
hp -0.01282277
drat .
wt -2.78337592
qsec .
vs .
am 0.01364372
gear .
carb . Call: cv.glmnet(x x, y y, alpha 1) Measure: Mean-Squared Error Lambda Index Measure SE Nonzero
min 0.6648 23 9.718 3.588 4
1se 1.6854 13 13.302 6.501 3