这个例子显示了如何预测基于它的重量,排量,马力和加速度汽车的里程(MPG),使用套索和弹性网络的方法。
加载carbig
数据集。
加载carbig
提取连续(noncategorical)预测(套索不处理分类预测)。
X = [加速位移马力重量];
用10倍交叉验证进行套索配合。
并[b,fitinfo] =套索(X,MPG,'简历',10);
绘制的结果。
lassoPlot(B,fitinfo,'PlotType',“拉姆达”,'的XScale',“日志”);
计算预测的相关性。先消除NaN的。
壬烷=〜任何(isnan([X MPG]),2);Xnonan = X(壬,:);MPGnonan = MPG(壬,:);科尔(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,MPG,'简历'10,'Α',0.5);
绘制的结果。名称中的每个预测这样你就可以知道哪些曲线是哪个。
pnames = {“加速”,'移位','马力','重量'};lassoPlot(BA,fitinfoa,'PlotType',“拉姆达”,'的XScale',“日志”,...'PredictorNames',pnames);
当您激活数据指针,点击图,你看到的预测,该系数的值的名称LAMBDA
和该点的指数,这意味着在列b
与该关联契合。
这里,弹性网和套索结果并不十分相似。此外,弹性网情节反映了弹性网络技术的一个显着的定性性质。弹性净保留3个非零系数为LAMBDA
增加(朝向等高线图的左侧),并且这三个系数在大约相同的到达0LAMBDA
值。相比之下,套索图显示两三个系数在相同的值成为0LAMBDA
,而另一系数始终为非零值的较高的值LAMBDA
。
这种行为体现了一种普遍现象。一般而言,弹性网倾向于保留或丢弃高度相关预测因子的基团作为LAMBDA
增大。相比之下,套索趋于下降较小的群体,甚至个别预测指标。
fitrlinear
|套索
|lassoPlot
|lassoglm
|岭