开头我们举个例子。
例如:“现在我正在运行一个分类模型。在我的数据集里面一共有3类数据,这里我们称它们分别为A,B和C,但是在我的训练数据集里面A,B和C三类数据分别占了90%,5%和5%。在大多数情况下,结果都过度拟合A类数据。”
在数据不均衡的情况下,我们得到90%的准确率(比如包含90%的数据类型一的实例)是因为我们的模型观察数据并且智能地总是根据数据类型一的数据进行预测(A类数据),并且尽量达到最高精度。 当我们规则基于这个方法进行的时候似乎得到的是最好的答案。但是如果你在最后的模型中仔细考察这个规则,你会发现似乎这个方法是忽略其他数据在对一类数据进行预测。
所以我们的应对解决方法是什么呢?
1) 可以扩大数据样本
你可能会认为这样做很愚蠢,但扩大样本数据总是容易被忽视。你能收集更多的数据吗?花一秒钟,想想你是否能够收集更多和问题相关的数据。 在集合中,一个更大的数据集,就有可能挖掘出不同的或许更平衡的方面。 之后当我们寻找重复采集的数据样本时,一些小样本类数据的例子可能是有帮助的。
2)试着改变你的绩效标准
精度是一个不适用于不平衡的数据集的绩效指标。正如我们已经看到的,这是一种误导。