我正在处理一个数据科学问题,我遇到了这个问题。
我有一个标记的数据(训练数据)和非标记的数据(测试数据),它们都有很多缺失的数据。
我对我的数据进行了处理,我把它分成了训练数据和验证数据。
我得到了一个非常好的精度和一个非常小的RMSE误差之间的Y_validation和预测的( model.predict(X_validate)
). 但是当我提交我的解决方案时,RMSE误差随着测试数据的增加而变大!
我可以做什么?
首先,你需要给你的测试数据贴上标签。如果你的测试数据没有被标记,你将无法衡量其准确性。它不会返回准确的误差表示。
你需要明白,训练集包含一个已知的输出,模型从中学习。测试数据必须被标记,这样当模型返回它对测试数据的预测时,我们就能够衡量模型是否正确预测了给测试数据的标签。
在做火车测试拆分的基础上,你还可以做交叉验证来提高模型的性能。你可以从这里了解更多。(https:/towardsdatascience.comtrain-test-split-and-cross-validation-in-python-80b61beca4b6。)
当一个模型不能很好地泛化时,有时会发生这种情况。当一个模型对训练数据过度拟合时,就会发生这种情况。
重新采样或对测试和训练数据进行更好的采样(如前所述,需要对数据进行标注)可以帮助你获得更好的泛化模型。