我想确保我的模型没有过拟合。我使用交叉验证检查过拟合。所有褶皱的结果都很接近。但与此同时,我检查了火车和测试预测。测试尺寸为0.25。训练和测试的预测是如此的不同。这表明我的模型拟合过度。我应该相信哪个结果?交叉验证或测试/列车预测。我的模型太合适了吗?
注意:我使用了python。用于交叉验证、列车测试拆分和建模的Sklearn
我不是专家,但首先我建议您相信交叉验证结果。交叉验证将数据分为N个部分,每次使用N-1进行训练,使用1进行测试,因此其结果显示出更真实的结果。我还建议你对数据进行洗牌,并计算你评估的置信区间。
95%置信区间可以计算为:
aux = 1.96 * sqrt((evaluation*(1-evaluation))/num_test_samples)
有了具有相应置信区间的交叉验证评估,请记住,如果我没有错的话,您也可以在cross_validate((方法中获得列车评估。
通过这三件事,你可以看到训练评估和测试评估的变化有多大。如果你的训练评估比你的测试评估大得多,你可能有过度拟合。
当你的训练结果与你的测试评估相比非常大,并且训练准确率倾向于100%时,你就知道你的模型没有很好地推广。特别是在神经网络中,很容易看到带有历元的通行证
根据您给出的精度,这两种方法都表示您存在过拟合。交叉验证只是测试模型泛化能力的一种更准确的方法,所以不要比较折叠,将平均交叉验证准确度与训练准确度进行比较,因为这些非常不同——你有过拟合