这可能听起来像是一个基本的问题,但我对训练集和测试有一个很大的困惑。
当我们使用诸如分类之类的监督学习技术来预测某事时,一种常见的做法是将数据集分为训练集和测试集两部分。训练集将有一个预测变量,我们在数据集上训练模型并“预测”事物。
让我们举个例子。我们将预测一家银行的贷款违约者,我们有德国的信用数据集,其中我们预测违约者和非违约者,但已经有一个定义栏,说明客户是违约者还是非违约者。
我理解对看不见的数据进行预测的逻辑,比如泰坦尼克号的生存数据,但在已经提到某个类别的情况下,预测的意义是什么,比如德国信贷贷款数据。
发布于 2017-09-10 11:02:11
正如您所说,这个想法是提出一个模型,您可以预测看不见的数据。测试数据仅用于测量通过训练数据创建的模型的性能。您希望确保您提出的模型不会对您的训练数据进行“过度拟合”(overfit)。这就是为什么测试数据很重要。最终,您将使用该模型来预测新的贷款人是否会违约,从而做出是否批准贷款申请的业务决策。
发布于 2017-09-10 14:20:06
它们包含默认值的原因是,您可以验证模型是否按预期工作,并预测正确的结果。没有它,任何人都无法确信他们的模型如预期的那样工作。
发布于 2017-09-10 16:27:19
训练模型的最终目的是将其应用于您所谓的看不见的数据。
即使在您的德国信用贷款示例中,最终您也将拥有一个经过训练的模型,您可以使用该模型来预测新的未见过的信用申请是否会违约。而且您应该能够在将来将其用于任何新的信用申请,只要您能够以您用于训练模型的相同格式表示新的信用数据。
另一方面,测试集只是一种形式,用于评估模型的好坏。您不能确定您的模型在未来的信用申请中的准确性,但您可以做的是保存一小部分训练数据,并在构建后使用它来检查模型的性能。这就是测试集(或者更准确地说,验证集)的名称。
https://stackoverflow.com/questions/46136163
复制相似问题