视频: [Android]398.人脸识别 2 人脸验证功能.mp4 2024
在完美的世界中,您可以对机器学习算法从未学过的数据进行测试。然而,等待新的数据在时间和成本方面并不总是可行的。
作为第一个简单的补救措施,您可以将您的数据随机分为训练和测试集。测试中共有25%到30%,其余75%到70%用于培训。您同时将您的数据分成您的响应和功能,保持每个响应与其功能之间的对应关系。
<! --1 - >当你需要调整你的学习算法时,会发生第二种补救措施。在这种情况下,测试分割数据不是一个好的做法,因为它会导致另一种称为snooping的过度拟合。为了克服窥探,你需要第三个分裂,称为验证集。建议的分割是将你的例子分成三部分:70%用于培训,20%用于验证,10%用于测试。
<! - 2 - >您应该随机执行拆分,即不管数据的初始排序如何。否则,您的测试将不可靠,因为排序可能导致 高估 (当有一些有意义的排序)或 低估 (当分布相差太多时)。作为解决方案,您必须确保测试集分布与训练分布没有太大差别,并且在分割数据中会出现顺序排序。
例如,检查识别号码(如果可用)在您的设置中是连续的。有时,即使你严格遵守随机抽样,你也不能总是获得类似的分布,特别是当你的例子数量很少的时候。
当你的例子n的数目很高时,比如n> 10 000,你可以很自信地创建一个随机分割的数据集。当数据集较小时,比较训练集和测试集中的平均值,模式,中值和方差等基本统计量和特征将有助于您了解测试集是否不合适。如果您不确定分割是否正确,只需重新计算一个新分割。