主要内容

套索和弹性网,交叉验证

该示例显示了如何使用套索和弹性网方法来预测基于其重量,位移,马力和加速器的汽车里程(MPG)。

加载CARBIG.数据集。

加载CARBIG.

提取连续(非相似)预测器(套索不处理分类预测器)。

X = [加速位移马力重量];

使用10倍交叉验证执行套索拟合。

[b,fitinfo] =套索(x,mpg,'简历',10);

绘制结果。

Lassoplot(B,FitInfo,'plottype''lambda''xscale''日志');

图包含2个轴。轴1带有套索的系数痕迹图是空的。轴2带有Lasso的系数迹象图的轴2包含6个类型的线路。这些对象代表Lambdaminmse,Lambda1se,B1,B2,B3,B4。

计算预测器的相关性。首先消除NANS。

nonan =〜任何(Isnan([x mpg]),2);xnonan = x(nonan,:);MPGNONAN = MPG(NONAN,:);corr(xnonan)
ans =.4×4.1.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,'Α',.5);

绘制结果。为每个预测器命名,以便您可以告诉哪个曲线是这样。

pnames = {'加速''移位''马力''重量'};Lassoplot(Ba,Fitinfoa,'plottype''lambda''xscale''日志'......'predictornames',pnames);

图包含2个轴。带有弹性网(Alpha = 0.5)的系数谱图的轴1是空的。带有弹性网(Alpha = 0.5)的系数配合系数的轴2含有6个类型的线。这些物品代表Lambdaminmse,Lambda1se,加速,位移,马力,重量。

激活数据游标并单击绘图时,您会看到预测器的名称,系数,值lambda.和那个点的索引,意思是列B.与适合有关。

在这里,弹性网和套索结果不是很相似。而且,弹性网曲线反映了弹性网技术的显着定性特性。弹性网保留三个非零系数lambda.增加(朝向左侧),这三个系数达到0左右lambda.价值。相反,套索曲线显示三个系数中的两个变为0的相同值lambda.,而另一个系数仍然是较高值的非零lambda.

此行为举例说明了一般模式。通常,弹性网倾向于保留或丢弃高度相关的预测器组lambda.增加。相比之下,套索倾向于下降较小的群体,甚至是个体预测因子。

也可以看看

||||

相关话题