aic python_使用python+sklearn实现Lasso 模型选择:交叉验证/ AIC / BIC

使用Akaike信息标准(AIC),贝叶斯信息标准(BIC)和交叉验证来选择Lasso估计器的正则化参数alpha的最佳值。

LassoLarsIC 获得的结果基于AIC/BIC标准。

基于信息准则(Information-criterion)的模型选择速度非常快,但是它依赖于自由度的正确估计,是针对大样本(渐近结果)导出的,并且假设模型是正确的,即数据实际上是由该模型生成的。当问题条件很差时(特征比样本多),该模型容易崩溃。

对于交叉验证,我们使用20-fold 2种算法计算 Lasso 路径:坐标下降,由 LassoCV 类实现,Lars(最小角度回归)由LassoLarsCV 类实现。两种算法给出的结果大致相同。它们的执行速度和数值误差来源不同。

Lars只为路径中的每个结点计算路径解。因此,当只有很少的结点时非常有效,即只有很少的特征或样本的情况。此外,它还可以计算完整路径,而无需设置任何元(meta)参数。相反,坐标下降计算预先指定网格上的路径点(这里使用默认值)。因此,如果网格点的数目小于路径中结点的数目,则效率更高。如果特征的数量真的很大,并且有足够的样本来选择大量的特征,那么这样的策略可能会很有趣。在数值误差方面,对于高度相关的变量,Lars会积累更多的误差,而坐标下降算法只会在网格上采样路径。

请注意alpha的最佳值对于每个fold是如何变化的。这说明了为什么在试图评估通过交叉验证为其选择参数的方法的性能时需要嵌套交叉验证:对于未见过的数据,此参数选择可能不是最佳的。

f41152bb080e48fbb2a40271e890ffd1.pngf03888b62d9518be32e281ce2824b2c6.pngaa758684cbc1410f245bfa486418899b.png

输出:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值