在EasyRec中,一个eval_path可以通过编辑配置文件中的eval_config.num_examples参数来划分成两个验证集和测试集。可以设置评估的样本数量来划分数据集。不建议设置eval_config.num_examples,不设置时默认评估整个测试集。,此回答整理自钉群“【EasyRec】推荐算法交流群”
在机器学习中,数据集的划分通常遵循一定的规则和原则。划分方法并没有严格的规定,但有几种常见的做法可以参考:
留出法(Hold-out):这种方法将整个数据集划分为两个互斥的集合,即训练集和测试集。训练集用于训练模型,而测试集则用于评估模型的性能。
交叉验证法:这种方法将数据集划分为k个子集,每次将其中一个子集作为测试集,其余k-1个子集作为训练集。重复k次,最终得到k个模型性能指标的平均值作为模型的性能指标。
对于小规模样本集(如几万量级),常用的分配比例是60%的训练集、20%的验证集、20%的测试集。对于大规模样本集(如百万级以上),只要验证集和测试集的数量足够即可,例如有100w条数据,那么可以留1w验证集,1w测试集。
需要注意的是,验证集和测试集是不同的。验证集来源于训练集的再划分,主要用于调整模型的超参数和进行模型选择。而测试集则用于在模型训练完成后,对模型的最终性能进行评估。
在机器学习中,PAI测试集和验证集的划分通常是根据项目的具体需求和数据的特性来进行的。一般来说,我们会将整个数据集划分为三个部分:训练集、验证集和测试集。
训练集是用于训练模型的,通常占整个数据集的60%~80%;验证集是用于调整模型参数和超参数的,通常占整个数据集的10%~20%;测试集是用于评估模型性能的,通常占整个数据集的10%~20%。
但是,对于一些特殊的数据集或特定的应用场景,可能需要进行特殊的处理。例如,在使用PAI进行特征选择时,我们可以将原始数据集划分为两个部分:特征选择子集和模型评估子集。其中,特征选择子集用于进行特征选择和模型训练,而模型评估子集则用于进行模型评估和参数调优。
需要注意的是,无论采用哪种划分方式,都必须确保各个子集之间的独立性和一致性,即每个子集都应该具有相同的分布特性和关联关系。此外,在实际操作过程中,还需要注意防止过拟合现象的发生,以免影响模型的泛化能力。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。