套索和交叉验证弹性网
这个例子展示了如何预测汽车的里程(英里/加仑)基于其体重,位移,马力,和加速度,利用套索和弹性网方法。
加载carbig
数据集。
负载carbig
提取连续(noncategorical)预测(套索不处理分类预测)。
X =(加速度位移马力重量);
执行一个套索符合10倍交叉验证。
[b, fitinfo] =套索(X,英里/加仑,“简历”10);
策划的结果。
lassoPlot (b fitinfo“PlotType”,“λ”,“XScale”,“日志”);
计算预测因子的相关性。首先消除nan。
nonan = ~任何(isnan ([X MPG]), 2);Xnonan = X (nonan:);MPGnonan = MPG (nonan:);相关系数(Xnonan)
ans =4×41.0000 -0.5438 -0.6892 -0.4168 -0.5438 1.0000 0.8973 0.9330 -0.6892 0.8973 1.0000 0.8645 -0.4168 0.9330 0.8645 1.0000
因为一些因素高度相关,执行弹性网络配件。使用α
= 0.5。
(ba, fitinfoa) =套索(X,英里/加仑,“简历”10“α”5);
策划的结果。名字每个预测你可以告诉这曲线。
pnames = {“加速”,“位移”,“马力”,“重量”};fitinfoa lassoPlot (ba,“PlotType”,“λ”,“XScale”,“日志”,…“PredictorNames”,pnames);
当你激活数据光标,点击图,你看预测的名称,系数的值λ
的指数,这意味着在列b
相关的健康。
这里,弹性网和套索结果不是很相似。同时,弹性净情节反映了明显的弹性网技术的定性性质。弹性网保留三个非零系数λ
增加(向左边的情节),这三个系数大约在同一达到0λ
价值。相比之下,套索情节展示了两个相同的三个系数成为0值λ
,而另一个仍然是更高的非零系数的值λ
。
这种行为是一个通用的模式。一般来说,弹性网络倾向于保留或删除组高度相关的预测λ
增加。相比之下,套索较小的团体有下降的趋势,甚至个人的预测因子。
另请参阅
套索
|lassoglm
|fitrlinear
|lassoPlot
|脊