我的原始数据集有 500 个实例 10 个类并且存在类不平衡
为了减少类不平衡,我使用了过采样技术,我的新数据集有 1500 个实例和 10 个类。
对于原始数据集,我应用了 j48 分类器并获得了 63% 的准确率
对于新的采样数据集,我应用了 j48 分类器并获得了 75% 的准确率。
我的问题是我怀疑我的数据对分类器过度拟合。
如何检查数据是否过拟合以及如何减少过拟合
我的原始数据集有 500 个实例 10 个类并且存在类不平衡
为了减少类不平衡,我使用了过采样技术,我的新数据集有 1500 个实例和 10 个类。
对于原始数据集,我应用了 j48 分类器并获得了 63% 的准确率
对于新的采样数据集,我应用了 j48 分类器并获得了 75% 的准确率。
我的问题是我怀疑我的数据对分类器过度拟合。
如何检查数据是否过拟合以及如何减少过拟合
通常,人们会谈论分类器过度拟合数据,而不是相反。这意味着分类器(例如您的案例中的决策树)不会学习数据背后的一般概念,而只是近似数据的特性。
要检查您的分类器是否过拟合,您需要单独的训练集和测试集。在您的情况下,原始数据和过采样数据不会 - 您需要完全独立的数据,即没有重叠点。Weka 有多种选择来实现这一点——你可以告诉它训练/测试拆分应该是什么,使用另一个文件中给出的显式测试集或交叉验证。
一旦你有了单独的集合,你就可以在你的训练集上训练你的分类器并在你的测试集上评估它。您在两个数据集上都获得了准确度,如果它们非常不平衡(例如,训练集上的准确度为 90%,而测试集上的准确度仅为 50%),这将表明过度拟合。请注意,虽然没有硬性规则,但最终一切都取决于您的判断。
正如 Lars 在他的回答中提到的那样,尚不清楚您的分类器是在测试数据上过度拟合,还是训练不足。你的问题对我来说听起来像是后一种情况。
此外,在处理不平衡数据时,检查测试/训练的准确性在所有类别上是否同样好也很重要,因为您的分类器可能对某些类别的准确度有“偏见”,但在其他类别上的准确度却很差。