Answers:
我会说答案取决于您的用例。根据我的经验:
将操作和培训方案分开。
操作方案是衡量您的分类器的方案。这是您应该表现良好的地方。使用应具有代表此方案的数据集。
培训方案是您要做的一切,以便建立一个可以在操作方案中良好运行的分类器。
很多时候,两种情况下的数据集具有相同的性质,因此无需区分它们。例如,您有一些在线商店,因此您可以用来培训过去的使用情况,以便在将来的使用中表现良好。但是,在训练时,您可以使用与表示操作方案不同的数据集。实际上,如果您睡着了,梦a以求的分类器,请在您的操作场景中对其进行验证(此步骤应在唤醒后完成),您的表现与采用常规机器学习路径后一样好。
当数据集不平衡时,操作场景和训练场景之间的区别变得很重要。大多数算法在这样的数据集上效果不佳。
因此,不要犹豫使用两个数据集-您可以使用平衡的数据集进行训练。完成后,验证操作数据集的分类器。
我认为有两个单独的问题需要考虑:训练时间和预测准确性。
举一个简单的例子:考虑您有两个类,它们具有多元正态分布。基本上,您需要估计各自的类别均值和类别协方差。现在,您关心的第一件事是您对类均值之差的估计:但是,您的表现受到最差的估计均值的准确性的限制:将一个均值精确到小数点后100位并没有多大好处-如果另一个均值仅估计到小数点后1位。因此,使用所有数据会浪费计算资源-相反,您可以对更常见的类进行欠采样并适当地对这些类进行加权。(然后可以使用这些计算资源来探索不同的输入变量等)
现在,第二个问题是预测准确性:不同的算法使用不同的错误度量标准,这些度量标准可能会也可能不会符合您自己的目标。例如,逻辑回归将惩罚总体概率误差,因此,如果您的大多数数据来自一个类别,则它将倾向于尝试提高该类别的准确概率估计(例如,概率为90%对95%),而不是尝试识别难得的一课。在那种情况下,您肯定想尝试重新加权以强调稀有类别(然后调整估计值(通过调整偏差项)以重新调整概率估计值)