我知道您应该将训练数据与测试数据分开,但是当您对模型进行预测时,可以使用整个数据集吗?
我认为将您的训练和测试数据分开对于评估不同模型的准确性和预测强度很有价值,但是一旦您选择了模型,我就不会想到使用完整的数据集进行预测会带来任何不利影响。
最佳答案
您可以使用完整数据进行预测,但可以更好地保留训练和测试数据的索引。这是它的优点和缺点:
优点:
如果保留属于训练和测试数据的行的索引,则只需要预测一次(这样就可以节省时间)即可获得所有结果。在使用训练和测试集索引设置实际和预测值之后,可以分别计算训练和测试数据的性能指标(R2 / MAE / AUC / F1 /精度/召回率等)。
缺点:
如果您为整个数据集计算性能指标(没有明确区分使用索引的训练和测试),那么您将获得overly optimistic
估算值。发生这种情况的原因是(对火车数据进行了训练)模型可以提供良好的火车数据结果。取决于训练和测试的%分配,它将给出虚幻的良好性能指标值。
一次处理大量的测试数据可能会导致内存膨胀,从而导致内存中所有对象的语言(如R)崩溃。
关于machine-learning - 使用您的完整数据集进行预测是否是一种好习惯?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39605417/