主要内容

套索和交叉验证弹性网

这个例子展示了如何预测汽车的里程(英里/加仑)基于其体重,位移,马力,和加速度,利用套索和弹性网方法。

加载carbig数据集。

负载carbig

提取连续(noncategorical)预测(套索不处理分类预测)。

X =(加速度位移马力重量);

执行一个套索符合10倍交叉验证。

[b, fitinfo] =套索(X,英里/加仑,“简历”10);

策划的结果。

lassoPlot (b fitinfo“PlotType”,“λ”,“XScale”,“日志”);

图包含2轴对象。坐标轴对象1标题跟踪情节的系数符合套索是空的。坐标轴对象2标题跟踪情节的系数符合套索包含6行类型的对象。这些对象代表LambdaMinMSE Lambda1SE, B1, B2, B3和B4。

计算预测因子的相关性。首先消除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);

图包含2轴对象。坐标轴对象1标题跟踪的情节由弹性系数符合净(α= 0.5)是空的。坐标轴对象2标题跟踪的情节由弹性系数符合净(α= 0.5)包含6行类型的对象。这些对象代表LambdaMinMSE, Lambda1SE、加速度、位移、马力、重量。

当你激活数据光标,点击图,你看预测的名称,系数的值λ的指数,这意味着在列b相关的健康。

这里,弹性网和套索结果不是很相似。同时,弹性净情节反映了明显的弹性网技术的定性性质。弹性网保留三个非零系数λ增加(向左边的情节),这三个系数大约在同一达到0λ价值。相比之下,套索情节展示了两个相同的三个系数成为0值λ,而另一个仍然是更高的非零系数的值λ

这种行为是一个通用的模式。一般来说,弹性网络倾向于保留或删除组高度相关的预测λ增加。相比之下,套索较小的团体有下降的趋势,甚至个人的预测因子。

另请参阅

||||

相关的话题