如果失败,使用您的测试集最终会烧毁您的数据集吗?

数据挖掘 机器学习
2022-02-13 18:43:12

给定一个我想训练机器学习算法的数据集。数据分为训练数据、验证数据和测试数据。

我现在成功地训练了我的算法,使其能够很好地处理训练数据,并且使用验证集进行验证也很有希望。然而,当应用测试数据时,模型表现不佳。

我现在陷入了两个选择:

  • 扔掉所有东西,用相同的数据集重新开始。然而,这被比作p-hacking。
  • 将数据集扔掉,因为它现在已被烧毁。这可能会扼杀我的项目,或者因为我需要重新收集数据而变得非常昂贵,这甚至可能是不可能的。

当在我的测试集上应用训练模型失败时,我的数据集最终会被烧毁吗?

相关奖励:我是否可以申请某种形式的Bonferroni 校正来继续重用数据集,以防我烧毁数据集?

1个回答

我会再尝试一次拆分数据并训练新算法。这类似于您所说的 p-hacking,因此请尽量避免多次这样做,但如果替代方案是项目停止,您似乎无能为力。

这一次,当您拆分数据时,我会尝试按某些特征(目标?输入变量的某些类别?)对其进行分层。这确保了训练/验证/测试集具有相同比例的某些标准,这可能有助于在将验证集与测试集进行比较时,您的表现更加一致。