如何改进现有的(训练有素的)分类器?

数据挖掘 机器学习 分类 评估
2022-03-04 13:46:38

我有一个分类器,我已经在一个小数据集上进行了训练和测试 - 收到了可靠的结果,尽管我希望改进它们。如果我理解正确,一种方法是添加更多数据以获得更精确的分类规则。

这样做时,我应该将数据添加到训练集和测试集吗?还是我应该只添加到训练集中?或者我应该从“新数据集”创建新的训练和测试集?(新 = 旧数据 + 新数据)。

2个回答

为了改进您的分类器,您几乎没有选择。

  • Ensembling - 制作一组分类器,让它们一起预测。堆叠、混合、装袋、提升。选择是你的。
  • 超参数调整- 你没有提到你的工具,但我想在每一个实体中都可以选择在参数空间中搜索以找到最佳组合
  • 采样- 您可以尝试欠采样或创建新样本 (SMOTE) 为您的分类器提供更多您想要预测的类数据
  • 特征工程- 获取嘈杂的特征并仅使用那些对您的预测有影响的特征,也考虑 PCA
  • 缩放——标准化你的数据可以提高性能,一些分类器需要这个
  • 数据质量- 缺失值、编码分类变量或可疑值会影响性能

添加更多数据并不总是有帮助。但是,如果更多数据对您有帮助,您可以通过以下步骤获得估计: 绘制图。轴上是训练示例的数量,从每个班级的一个示例开始,到您当前所在的任何地方轴显示错误现在您应该添加两条曲线:训练和测试误差。对于低,训练误差应该非常低(几乎为 0),而测试误差应该非常高。有了足够的数据,它们应该“差不多”。通过绘制这些曲线,您可以有根据地猜测有多少数据会给您带来多少改进。xyx

这样做时,我应该将数据添加到训练集和测试集吗?

取决于你想要达到什么。如果只是得到一个更好的分类器,那么你只能将它添加到训练集中。但是,如果您在科学环境中这样做,这可能会更加困难。(我假设您的测试集大小合理)。

您可能想看看cross-validation