【发布时间】:2021-04-24 02:26:49
【问题描述】:
我有一个包含 3961 行和 32 列的训练数据,我想将其拟合到随机森林和梯度提升模型中。在训练时,我需要微调模型的超参数以获得最佳的 AUC。为此,我使用 Scipy 中描述的 Basin-Hopping 算法将数量 1-AUC(Y_real,Y_pred) 最小化;所以我的训练和内部验证子样本是一样的。
优化完成后,随机森林的 AUC=0.994,而梯度提升的 AUC=1。我是否过度拟合这些模型?我怎么知道训练过程中何时发生过拟合?
【问题讨论】:
-
这是用于您的测试或训练数据集吗?
-
您是否检查过测试/验证准确度并将其与训练准确度进行比较?过度拟合意味着您的模型不能推广到看不见的数据。检查模型是否过拟合的唯一方法是训练模型并在未见过的数据上比较其结果。
-
我用数据训练模型并用相同的训练数据计算 AUC。然后我通过最小化差异 1-AUC 来优化超参数,其中 AUC 是使用相同的训练数据和训练数据上的预测值计算得出的。
标签: python scikit-learn overfitting-underfitting