建立开发集与训练集

在处理第三方基准测试(benchmark)问题时,样本提供方很可能已经指定了服从不同分布的开发集和测试集数据。与数据分布一致的情况相比,此时运气带来的性能影响将超过你使用的技术所带来的影响。但是如果你想要在特定的机器学习应用上取 得进展,而不是搞研究,我建议你尽可能地选择服从相同分布的开发集和测试集数据,这会让你的团队更有效率。

1、        分类准确率就是其中的 一种:待你在开发集(或测试集)上运行分类器之后,它将返回单个数值,代表着样本被正确分类的比例。

2、        查准率=预测为“猫”的照片数量/实际为“猫”的照片数量

3、        查全率=正确预测为“猫”的数量的照片数量/实际为“猫”的照片的数量

4、        当你需要在多个分类器之间进行选择时,使用单值评估指标将帮助你更快速地作出 决定。它能给出一个清晰明了的分类器性能排名,从而帮助团队明确后续的改进方向

5、        优化指标:当你的团队进行多个学习算法进行选择是,假如有多个指标可以将其中的一部分指标确定为基础,剩下的标准作为优化指标。例如系统在满足运行时间统一的情况下,谁在相同的时间做出的数量最大化,那个系统就是最好的。

6、        如果你发现算法在开发集上的性能比测试集好得多,则表明你很有可能 在开发集上过拟合了。在这种情况下,你需要获取一个新的开发集。在项目中改变开发集、测试集或者指标是很常见的。一个初始的开发集、测试集和指标能够帮 助团队进行快速迭代,当你发现它们对团队的导向不正确时,不要担心,你只需要对其进行修 改并确保团队能够了解接下来的新方向。

7、        如果需要跟踪团队的进度,你可以每周或者每月在测试集上对系统进行一次定期评估。但不要根据测试集指标对算法做出任何决策,包括是否将系统回滚到前一周的状态。坚持这样做会导致算法在测试集上开始过拟合,并且不要再指望通过测试集对你的系统性能进行完全无偏估计 (这对发表研究论文以及需要做出商业决策的人来说影响很大)

8、        小结:

  • • 被选择作为开发集和测试集的数据,应当与你未来计划获取并对其进行良好处理的数据有 着相同的分布,而不一定和训练集的数据分布一致。
  • • 开发集和测试集的分布应当尽可能一致。
  • • 为你的团队选择一个单值评估指标进行优化。
  • • 当需要考虑多项目标时,不妨将它们整合到一个表达式里(比如对多个误差指标取平均) ,或者设定满意度指标和优化指标。
  • • 机器学习是一个高度迭代的过程:在出现最终令人满意的方案之前,你可能要尝试很多想 法。
  • • 拥有开发集、测试集和单值评估指标可以帮助你快速评估一个算法,从而加速迭代进程。
  • • 当你要探索一个全新的应用时,尽可能在一周内建立你的开发集、测试集和评估指标;而 在已经相对成熟的应用上,可以考虑花费更长的时间来执行这些工作。
  • • 传统的 70% / 30% 训练集/测试集划分对于大规模数据并不适用,实际上,开发集和测试 集的比例会远低于 30%.
  • • 开发集的规模应当大到能够检测出算法精度的细微改变,但也不需要太大;测试集的规模 应该大到能够使你能对系统的最终性作出一个充分的估计。
  • • 当开发集和评估指标对于团队已经不能提供一个正确的导向时,尽快修改它们:(i) 如果算法在开发集上过拟合,则需要获取更多的开发集数据。(ii) 如果开发集与测试集的数据分布和实际数据分布不同,则需要获取新的开发集和测试集。 (iii) 如果评估指标无法对最重要的任务目标进行度量,则需要修改评估指标。

转载于:https://www.cnblogs.com/kedaxiaohei/p/10043658.html

机器学习--01建立开发集与训练集相关推荐

  1. 【机器学习算法面试题】六.训练集、验证集、测试集的理解。

    欢迎订阅本专栏:<机器学习算法面试题> 订阅地址:https://blog.csdn.net/m0_38068876/category_11810806.html [机器学习算法面试题]一 ...

  2. (已修改)机器学习之文本分类(附带训练集+数据集+所有代码)

    本博客是我对之前博客进行的一些优化,对文件的处理,以及添加更多的注释让大家在NLP,文本分类等领域能够更快的让代码跑起来. 原文链接:https://blog.csdn.net/qq_28626909 ...

  3. R语言构建xgboost模型并评估模型(测试集、训练集每一轮):误分类率指标(misclassification rate)、logloss

    R语言构建xgboost模型并评估模型(测试集.训练集每一轮):误分类率指标(misclassification rate).logloss 目录

  4. 绘制测试集、训练集的每一个病人或者样本的raidomics signiture图(绘制raidomics signature图),以及ROC曲线图

    绘制测试集.训练集的每一个病人或者样本的raidomics signiture图(绘制raidomics signature图),以及ROC曲线图 受试者工作特征曲线 (receiver operat ...

  5. Python编程语言学习:for循环实现对多个不同的DataFrame数据执行相同操作(可用于对分开的测试集、训练集实现执行相同逻辑任务)

    Python编程语言学习:for循环实现对多个不同的DataFrame数据执行相同操作(可用于对分开的测试集.训练集实现执行相同逻辑任务) 目录

  6. 手写数字图片识别+导入csv训练集+预测训练集+csv导出预测结果

    手写数字图片识别+导入csv训练集+预测训练集+csv导出预测结果 题目来源: Dataset之MNIST:MNIST(手写数字图片识别+csv文件)数据集简介.下载.使用方法之详细攻略 导入csv训 ...

  7. label y 训练集测试集x_训练集、测试集 train_test_split

    训练集 & 测试集 如果拿所有原始数据来训练,存在的问题: 模型很差无法调整: 真实环境难以拿到真实 label: 所以将数据区分为 训练数据 和 测试数据(train test split) ...

  8. 中文信息处理——语料划分测试集与训练集

    本系列所有文章都是基于人民日报语料处理 199801.txt import randomdef split(all_list, shuffle=False, ratio=1):num = len(al ...

  9. 【NLP项目-文本分类】划分测试集,训练集,验证集

    目录 一.不分词划分数据集 1.划分数据集 2.将各数据集写入txt文件 二.分词划分数据集 1.分词 2.完整代码 本篇文章的主要任务是将自己的数据集使用在Chinese-Text-Classifi ...

最新文章

  1. SAP QM 检验批上留样记录如何看?
  2. 【VIOLA】宁可食无肉,不可居无竹
  3. 牛听听 总是获取音频流出错_【伤感听听|推荐】大度 什么
  4. java home not set_Error: JAVA_HOME is not set and could not be found.
  5. 获取outlook 会议_如何仅在Microsoft Outlook中仅获取您关注的电子邮件的通知
  6. PPT下载下来是php,用php下载jpg,doc,ppt文件已损坏
  7. Linux系统安装及配置——Centos-7-X86_64-DVD-2009
  8. spring boot 设置日志打印mybatis sql
  9. 进程调度:时间片轮转调度算法
  10. python tolist()函数
  11. linux apache 查看mpm 配置方式,apache httpd mpm配置
  12. windows打印机共享给linux,linux使用windows共享打印机
  13. CPU、OpenGL/DirectorX、显卡驱动和GPU之间的关系
  14. 职场“巨婴”,毁人不倦
  15. ai如何置入_ai中更新置入图片链接的具体步骤介绍
  16. 测序数据分析之OTU
  17. 关于4月2号OpenAI大面积封停亚洲(中国大陆)帐号的问题和应对策略
  18. EEPROM(24C64)的IIC通讯调试记录要点,使正点原子例程兼容性更好
  19. 入场需知|英利参展|第86届中国国际医疗器械博览会-2022CMEF深圳医疗器械展会
  20. stm32按键控制mg90s数字舵机、pwm调节舵机转动角度

热门文章

  1. 一篇文章教会你使用Python中三种简单的函数
  2. 锻炼编程能力的10个游戏:通关既巅峰!
  3. 复旦大学邱锡鹏教授《神经网络与深度学习》最新版!
  4. 经验 | 没有导师的指导,研究生如何阅读文献、提出创见、写论文?
  5. 深度学习(十六)基于2-channel network的图片相似度判别
  6. 水土保持功能评估中k值的计算公式
  7. linux mysql 挂马_linux服务器被挂马
  8. c语言调用机器码,演示几种用C语言来执行shellcode(其实也就是机器码)的方式
  9. 如何在xshell中创建一个SSH隧道
  10. 使用php进行后台开发,PHP后台开发用到的基础方法整理【原创】