机器学习--01建立开发集与训练集
建立开发集与训练集
在处理第三方基准测试(benchmark)问题时,样本提供方很可能已经指定了服从不同分布的开发集和测试集数据。与数据分布一致的情况相比,此时运气带来的性能影响将超过你使用的技术所带来的影响。但是如果你想要在特定的机器学习应用上取 得进展,而不是搞研究,我建议你尽可能地选择服从相同分布的开发集和测试集数据,这会让你的团队更有效率。
1、 分类准确率就是其中的 一种:待你在开发集(或测试集)上运行分类器之后,它将返回单个数值,代表着样本被正确分类的比例。
2、 查准率=预测为“猫”的照片数量/实际为“猫”的照片数量
3、 查全率=正确预测为“猫”的数量的照片数量/实际为“猫”的照片的数量
4、 当你需要在多个分类器之间进行选择时,使用单值评估指标将帮助你更快速地作出 决定。它能给出一个清晰明了的分类器性能排名,从而帮助团队明确后续的改进方向
5、 优化指标:当你的团队进行多个学习算法进行选择是,假如有多个指标可以将其中的一部分指标确定为基础,剩下的标准作为优化指标。例如系统在满足运行时间统一的情况下,谁在相同的时间做出的数量最大化,那个系统就是最好的。
6、 如果你发现算法在开发集上的性能比测试集好得多,则表明你很有可能 在开发集上过拟合了。在这种情况下,你需要获取一个新的开发集。在项目中改变开发集、测试集或者指标是很常见的。一个初始的开发集、测试集和指标能够帮 助团队进行快速迭代,当你发现它们对团队的导向不正确时,不要担心,你只需要对其进行修 改并确保团队能够了解接下来的新方向。
7、 如果需要跟踪团队的进度,你可以每周或者每月在测试集上对系统进行一次定期评估。但不要根据测试集指标对算法做出任何决策,包括是否将系统回滚到前一周的状态。坚持这样做会导致算法在测试集上开始过拟合,并且不要再指望通过测试集对你的系统性能进行完全无偏估计 (这对发表研究论文以及需要做出商业决策的人来说影响很大)
8、 小结:
- • 被选择作为开发集和测试集的数据,应当与你未来计划获取并对其进行良好处理的数据有 着相同的分布,而不一定和训练集的数据分布一致。
- • 开发集和测试集的分布应当尽可能一致。
- • 为你的团队选择一个单值评估指标进行优化。
- • 当需要考虑多项目标时,不妨将它们整合到一个表达式里(比如对多个误差指标取平均) ,或者设定满意度指标和优化指标。
- • 机器学习是一个高度迭代的过程:在出现最终令人满意的方案之前,你可能要尝试很多想 法。
- • 拥有开发集、测试集和单值评估指标可以帮助你快速评估一个算法,从而加速迭代进程。
- • 当你要探索一个全新的应用时,尽可能在一周内建立你的开发集、测试集和评估指标;而 在已经相对成熟的应用上,可以考虑花费更长的时间来执行这些工作。
- • 传统的 70% / 30% 训练集/测试集划分对于大规模数据并不适用,实际上,开发集和测试 集的比例会远低于 30%.
- • 开发集的规模应当大到能够检测出算法精度的细微改变,但也不需要太大;测试集的规模 应该大到能够使你能对系统的最终性作出一个充分的估计。
- • 当开发集和评估指标对于团队已经不能提供一个正确的导向时,尽快修改它们:(i) 如果算法在开发集上过拟合,则需要获取更多的开发集数据。(ii) 如果开发集与测试集的数据分布和实际数据分布不同,则需要获取新的开发集和测试集。 (iii) 如果评估指标无法对最重要的任务目标进行度量,则需要修改评估指标。
转载于:https://www.cnblogs.com/kedaxiaohei/p/10043658.html
机器学习--01建立开发集与训练集相关推荐
- 【机器学习算法面试题】六.训练集、验证集、测试集的理解。
欢迎订阅本专栏:<机器学习算法面试题> 订阅地址:https://blog.csdn.net/m0_38068876/category_11810806.html [机器学习算法面试题]一 ...
- (已修改)机器学习之文本分类(附带训练集+数据集+所有代码)
本博客是我对之前博客进行的一些优化,对文件的处理,以及添加更多的注释让大家在NLP,文本分类等领域能够更快的让代码跑起来. 原文链接:https://blog.csdn.net/qq_28626909 ...
- R语言构建xgboost模型并评估模型(测试集、训练集每一轮):误分类率指标(misclassification rate)、logloss
R语言构建xgboost模型并评估模型(测试集.训练集每一轮):误分类率指标(misclassification rate).logloss 目录
- 绘制测试集、训练集的每一个病人或者样本的raidomics signiture图(绘制raidomics signature图),以及ROC曲线图
绘制测试集.训练集的每一个病人或者样本的raidomics signiture图(绘制raidomics signature图),以及ROC曲线图 受试者工作特征曲线 (receiver operat ...
- Python编程语言学习:for循环实现对多个不同的DataFrame数据执行相同操作(可用于对分开的测试集、训练集实现执行相同逻辑任务)
Python编程语言学习:for循环实现对多个不同的DataFrame数据执行相同操作(可用于对分开的测试集.训练集实现执行相同逻辑任务) 目录
- 手写数字图片识别+导入csv训练集+预测训练集+csv导出预测结果
手写数字图片识别+导入csv训练集+预测训练集+csv导出预测结果 题目来源: Dataset之MNIST:MNIST(手写数字图片识别+csv文件)数据集简介.下载.使用方法之详细攻略 导入csv训 ...
- label y 训练集测试集x_训练集、测试集 train_test_split
训练集 & 测试集 如果拿所有原始数据来训练,存在的问题: 模型很差无法调整: 真实环境难以拿到真实 label: 所以将数据区分为 训练数据 和 测试数据(train test split) ...
- 中文信息处理——语料划分测试集与训练集
本系列所有文章都是基于人民日报语料处理 199801.txt import randomdef split(all_list, shuffle=False, ratio=1):num = len(al ...
- 【NLP项目-文本分类】划分测试集,训练集,验证集
目录 一.不分词划分数据集 1.划分数据集 2.将各数据集写入txt文件 二.分词划分数据集 1.分词 2.完整代码 本篇文章的主要任务是将自己的数据集使用在Chinese-Text-Classifi ...
最新文章
- SAP QM 检验批上留样记录如何看?
- 【VIOLA】宁可食无肉,不可居无竹
- 牛听听 总是获取音频流出错_【伤感听听|推荐】大度 什么
- java home not set_Error: JAVA_HOME is not set and could not be found.
- 获取outlook 会议_如何仅在Microsoft Outlook中仅获取您关注的电子邮件的通知
- PPT下载下来是php,用php下载jpg,doc,ppt文件已损坏
- Linux系统安装及配置——Centos-7-X86_64-DVD-2009
- spring boot 设置日志打印mybatis sql
- 进程调度:时间片轮转调度算法
- python tolist()函数
- linux apache 查看mpm 配置方式,apache httpd mpm配置
- windows打印机共享给linux,linux使用windows共享打印机
- CPU、OpenGL/DirectorX、显卡驱动和GPU之间的关系
- 职场“巨婴”,毁人不倦
- ai如何置入_ai中更新置入图片链接的具体步骤介绍
- 测序数据分析之OTU
- 关于4月2号OpenAI大面积封停亚洲(中国大陆)帐号的问题和应对策略
- EEPROM(24C64)的IIC通讯调试记录要点,使正点原子例程兼容性更好
- 入场需知|英利参展|第86届中国国际医疗器械博览会-2022CMEF深圳医疗器械展会
- stm32按键控制mg90s数字舵机、pwm调节舵机转动角度
热门文章
- 一篇文章教会你使用Python中三种简单的函数
- 锻炼编程能力的10个游戏:通关既巅峰!
- 复旦大学邱锡鹏教授《神经网络与深度学习》最新版!
- 经验 | 没有导师的指导,研究生如何阅读文献、提出创见、写论文?
- 深度学习(十六)基于2-channel network的图片相似度判别
- 水土保持功能评估中k值的计算公式
- linux mysql 挂马_linux服务器被挂马
- c语言调用机器码,演示几种用C语言来执行shellcode(其实也就是机器码)的方式
- 如何在xshell中创建一个SSH隧道
- 使用php进行后台开发,PHP后台开发用到的基础方法整理【原创】