根据我们业务部门提供给我们的数据,我使用了sklearn决策树算法来确定二进制分类问题的ROC_AUC
。
数据由450行组成,数据中有30个功能。
我使用了10次StratifiedKFold重复/拆分训练和测试数据。结果,我得到了以下ROC_AUC值:
0.624
0.594
0.522
0.623
0.585
0.656
0.629
0.719
0.589
0.589
0.592
由于我是机器学习的新手,我不确定是否可以预期ROC_AUC值的这种变化(最小值为0.522,最大值为0.719)。
我的问题是:
答案 0 :(得分:0)
好吧,你进行k-fold分裂以实际评估你的模型的概括性。
因此,根据您目前的结果,我假设如下:
有助于我们帮助您的重要问题:
希望这有帮助!
答案 1 :(得分:0)
预计会有如此大的变化吗?
这是high variance的教科书案例。
根据您的问题的难度,405训练样本可能不足以正确推广,随机森林可能太强大。 尝试通过限制允许树的分割数量来添加一些正则化。这应该可以减少模型中的差异,尽管您可能期望平均性能可能会降低。
可以使用更多数据(=行)来减少它吗?
是的,添加数据是降低模型差异的另一种流行方式。如果您熟悉深度学习,您会发现深层模型通常需要大量样本才能正确学习。这是因为它们是非常强大的模型,具有固有的高方差,因此需要大量数据来进行推广。
如果ROC_AUC变好(“接近1”),ROC_AUC方差会变小吗?
随着正规化和添加数据,方差将减小,它与您获得的实际性能“数字”无关。
干杯