首先回答一个问题:你想达到什么目的?换句话说,你的模型应该在“野外”做什么。评估指标必须简单地回答这个问题,没有别的。其次 - 总是第一个分割数据,然后预处理。当你尝试按照你的建议复制一些数据时,这是至关重要的 - 如果你先复制然后再拆分,你可能会在训练和测试中得到相同的点,这对你的估计来说会很糟糕。
特别是 - 您正在处理不平衡的数据集。主要问题是为什么是不平衡的?是因为real数据不平衡(例如,您正在处理具有各种罕见积极类的二进制分类),或者这是收集数据的一些奇怪方式的后果,这不是真正的基础过程的随机样本(例如通常类是完全平衡的,但是你的标记数据集不是,因为人们喜欢在你的问题中标记正样本)。如果实际数据不平衡,那么您在测试集中不能改变平衡,这将完全破坏您将试图从实验中得出的任何结论。测试数据必须是真实数据的代表性样本。从不改变它“为了你自己的需要”。如果后者是真的 - 那么你可以尝试改变测试,使其与真实数据更相似(与之前相同的论点)。
你可以做的是修改度量以匹配你关心的事情(是的,过采样测试数据可以达到同样的效果,但是理解你在这里做什么是至关重要的 - 你可以修改度量,但你不能触摸测试集,如果你想得到一般有效的概率推理)。如果你只关心一个模型,它具有很高的随机数据点分类正确分类的可能性 - 使用的准确性。如果你关心某些课程(在你经常做的不平衡场景中) - 通过附加不同的成本到FP或FN并基于混淆矩阵计算你自己的度量,你总是可以增加错误代价的成本。请记住,如果您使用自定义指标,则必须“告诉”您的模型。我们那里的90%的分类器假定您关心准确性,并且他们最大化它。如果您改变度量标准 - 再次使用分类器的“天真”应用可能会导致无效的结论(就模型选择而言)。
综上所述:
- 不修改测试数据的分布(没有过采样!)
- 设定的指标,用于匹配您想了解
- 这个信息添加到你的学习计划是什么(如 - 附加支持向量机,逻辑回归等)
只是一般性发言类的权重 - 你在班级中不能学**任何**单个例子**。收集**数量级**更多数据。 – lejlot