我有一个非常小的 60 个观察数据集。我的训练、交叉验证和测试精度(RMSE 和 R 平方)在使用不同的随机状态同时执行洗牌然后分裂时有很大的不同。每次使用不同的随机状态时,训练、测试和交叉验证的准确性都会发生变化。我该如何解决这样的问题以及如何真正评估模型的性能?
使用不同的 shuffle 和 splits 时,训练、交叉验证和测试精度(RMSE 和 R2)会有所不同
数据挖掘
机器学习
scikit-学习
回归
交叉验证
2022-03-02 11:07:48
2个回答
在评估方面,你能用非常少量的数据做的最好的事情就是重复-fold 交叉验证多次(即非常大),并将分数的整体分布视为性能(特别要考虑跨折叠的方差)。
无论如何,用这么小的数据集获得可靠的性能测量是很困难的。想到两个选择:
- 获得更多的实例,可能通过使用一些插值方法来生成人工数据(但它不如真实数据)。
- 通过减少特征数量来降低模型的复杂性,因为这可能会减少性能的差异。
看看这个:https ://stats.stackexchange.com/questions/335936/choosing-the-correct-seed-for-reproducible-research-results?fbclid=IwAR1i1-WjSYxCQrV5GU5-LHD6rU7VYfoE_X-xg3J7zmQa2o2Obnf27CDfwuY有一个非常彻底可能有用的答案。
其它你可能感兴趣的问题