套索和弹性网络有交叉验证

这个例子显示了如何预测基于它的重量,排量,马力和加速度汽车的里程(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增大。相比之下,套索趋于下降较小的群体,甚至个别预测指标。

也可以看看

||||

相关话题