如何重置 ML 模型的内存?

数据挖掘 机器学习 深度学习 分类 预测建模 随机森林
2022-01-27 10:46:27

我一直在使用随机森林、神经网络、Boosting 方法和逻辑回归等算法研究二元分类问题。

然而,在我的模型构建过程中,我根据测试集 ( X_test) 中的性能调整了我的模型。意思是,我执行以下操作

步骤 1)我在训练数据上应用 .fit(),评估性能(通过 grdisearchcv 确定最佳参数)

step-2) 稍后,我在 test_data 上应用 .predict()

当 test_data 的性能不好时,我做了以下

a) 更改算法(或超参数、cv 折叠、评分等)并重复步骤 1)和步骤 2)

虽然我通过在线阅读发现这不是一个好方法,因为我将模型暴露给测试数据(多次)并且模型可能过度适合我的 test_data(并且将来对于来自现实世界的新数据表现不佳)。

所以,现在我想擦除我的模型的记忆/让它看不见它已经看到的任何东西。

如何重置 ML 模型内存?重置我的 jupyter 笔记本、笔记本电脑等会让它忘记一切吗?

1个回答

您的错误是您根据测试数据的性能进行调整,然后在您认为自己取得了改进时重新测试相同的测试数据。

在“常规”机器学习中,比如线性回归,你会调整回归参数,直到找到最小的损失值。这基本上就是你在这里所做的。您在训练数据上摆弄模型超参数并在测试数据上测试它们。这可能会使超参数过度拟合测试数据,就像参数拟合样本内数据一样。

换句话说,您冒着调整超参数以适应测试数据的风险,而不是提供良好的泛化能力。