我在网上查看评估模型的例子,我发现了两个例子,它们之间有什么不同,我一直认为test_X和test_Y是用来做预测的,训练数据是用来训练和评估的。
accuracy = model.evaluate(test_X, test_Y, verbose=0)
print('Accuracy: %.2f' % (accuracy[1]*100))
accuracy
accuracy1 = model.evaluate(train_X, train_Y, verbose=0)
print('Accuracy: %.2f' % (accuracy[1]*100))
accuracy1
发布于 2022-10-04 22:56:38
为了明确训练集和测试集之间的区别,可以使用训练集来优化模型,而测试集用于评估模型的泛化。
您想要评估火车和测试集的准确性或性能的原因是,这为您的模型的性能提供了很多线索,如果它做得不好,为什么。
在比较列车测试性能时的一些经验规则
对于一个好的模型,您会期望--火车和测试的准确性都是相当高的,两者之间的差别应该很小。这意味着您的模型能够解决问题并将其概括为不可见的数据。
如果列车和测试精度都是低,那很可能意味着您的模型具有高偏差。您可能需要增加模型的复杂性,减少正则化,甚至更改架构。
如果训练集精度为高,而测试集精度为低,则有高方差。您应该降低模型的复杂性,或者增加正则化。
注意到:虽然这种分析只需要一个训练和测试集,但建议使用三组(列车、验证、测试),并使用训练集和验证集进行偏差-方差分析。这是因为作为模型开发人员,您可能会尝试将您的模型过度适应验证集,这破坏了测试泛化的想法。
https://stackoverflow.com/questions/73954282
复制相似问题