2024-09-24 06:26:26 发布
网友
有人能解释为什么随机的状态参数对模型有如此大的影响吗?在
我有一个RandomForestClassifier模型,并想设置random_state(用于重现性pourpouses),但根据我使用的值,我得到的总体评估指标(F1分数)上的值非常不同
例如,我试图用100个不同的随机状态值来拟合同一个模型,在训练广告测试之后,最小的F1值为0.64516129,最大值为0.808823529)。这是一个巨大的区别。在
这种行为似乎也使两种模式很难进行比较。在
有什么想法?在
如果随机状态影响结果,则意味着模型的方差高。在随机森林的情况下,这简单地意味着你使用了太小的森林,并且应该增加树的数量(由于袋装-减少方差)。在scikit-learn中,这是由构造函数中的n_estimators参数控制的。在
n_estimators
为什么会这样?每种最大似然法都试图使误差最小化,从材料角度来看,误差通常可以分解为偏差和方差[+噪声](见偏差-方差dillema/tradeoff)。偏差是指你的模型必须最终达到期望值的程度,这部分误差通常来自于一些先前的假设,例如对非线性问题使用线性模型等。方差是指当你在不同的数据子集上训练(或使用不同的超参数,对于随机方法,随机种子是一个参数。在训练过程中,超参数由我们初始化,参数由模型本身学习。最后-噪声是来自问题本身(或数据表示)的不可减少的错误。因此,在您的例子中,您只是遇到了具有高方差的模型,决策树以其极高的方差(和较小的偏差)而闻名。因此,为了减少方差,布雷曼提出了特定的装袋方法,即今天所说的随机森林。森林面积越大,方差减小的效果越强。特别是一棵树的森林具有巨大的方差,对于中等大小的问题,1000棵树的森林几乎是确定性的。在
总而言之,你能做些什么?在
如果随机状态影响结果,则意味着模型的方差高。在随机森林的情况下,这简单地意味着你使用了太小的森林,并且应该增加树的数量(由于袋装-减少方差)。在scikit-learn中,这是由构造函数中的
n_estimators
参数控制的。在为什么会这样?每种最大似然法都试图使误差最小化,从材料角度来看,误差通常可以分解为偏差和方差[+噪声](见偏差-方差dillema/tradeoff)。偏差是指你的模型必须最终达到期望值的程度,这部分误差通常来自于一些先前的假设,例如对非线性问题使用线性模型等。方差是指当你在不同的数据子集上训练(或使用不同的超参数,对于随机方法,随机种子是一个参数。在训练过程中,超参数由我们初始化,参数由模型本身学习。最后-噪声是来自问题本身(或数据表示)的不可减少的错误。因此,在您的例子中,您只是遇到了具有高方差的模型,决策树以其极高的方差(和较小的偏差)而闻名。因此,为了减少方差,布雷曼提出了特定的装袋方法,即今天所说的随机森林。森林面积越大,方差减小的效果越强。特别是一棵树的森林具有巨大的方差,对于中等大小的问题,1000棵树的森林几乎是确定性的。在
总而言之,你能做些什么?在
相关问题 更多 >
编程相关推荐