机器学习项目清单2

2. 获取数据

Aurelien Geron 关于获取数据的清单如下

  • 列出需要的数据及其体量

  • 查找并记录获取数据的途径

  • 检查需要的空间

  • 检查法律义务,必要时获取授权

  • 获取访问权限

  • 创建工作空间(确保具有足够的存储空间)

  • 获取数据

  • 将数据转化为可操作的格式(不改变数据本身)

  • 确保删除或保护敏感信息(例如、匿名)

  • 检查数据的类型和大小(时间序列、样本、地点等)

  • 采样一个测试数据集,放在一边,永远不要用它(没有数据窥视)。
    … …
    以上完整的记录了《机器学习实践》中的关于获取数据的清单,没有按照自己的思路写,正说明对这个的把握是不充分,不自信的。正常的项目组需要是完备的,并不是指人员、工作是完备的,而是这样的思想是完备的,那么即使人员有所缺失,不足,但因为对整个工作的完整性十分了解,那么相应的问题也能解决。目前自己的程度是需要求助更加有经验的人来指导工作。不过更加现实的情况是并没有,那么就是一边补充一边调整思想,一边补充知识。
    … …
    在获取数据这个步骤前,因为已经对需解决的问题进行了充分的讨论。所以对数据的结构基本有所把握。这里补充一个题外话:那就是在互联网巨头企业中,往往从事机器学习项目的新工作人员需要在数据收集,分析的岗位进行半年左右的训练,以对数据的结构有较多的认识。
    … …

  • 列出需要的数据及其体量
    根据商业术语定义下的问题,列出基本的假设后,对应的数据结构也能根据已经列出的中较符合的假设列出需要的数据维度。但是数据的体量该怎么确认呢?这里面还存在公司发展阶段的问题。当公司的体量大,数据量当然很大,一般选取什么样体量的数据来进行机器学习呢?数据体量是变化的么?即当模型效果不理想,其中一个解决办法就是补充数据量。那么当企业本身的数据量是小的呢?比如数据量在10万以内。这样的数据量对于一个机器学习项目是较小的。
    那这个问题就演变成正确评估模型需要的数据体量,然后根据需要的数据体量,评估获取数据的渠道。

  • 查找并记录获取数据的途径
    初步获取数据的时候,可以尽量先将所有能想到的数据进行厘清。然后一个很重要的思想就是,数据版本不可能一次就确认,或者在已经确认后,还有可能就新提出的需求进行补充。或者在调整模型的时候仍然可能就数据本身进行调整。所以数据版本要进行保留,要进行说明,数据字段要进行备注,这个并不是为别人来进行考虑,而是对自己思维记忆力的清晰认识:那就是——真的记不住!——来进行补充与完备。
    而记录获取数据的途径则是半自动化的意识,不需要就这个部分一直进行重复的工作。以及:当机器学习模型是增量学习的时候,持续获取新数据这个过程需要自动化。

  • 检查需要的空间
    我因为对代码需要的空间不懂,目前仅知道如果需要加载某些文件的时候,采用相对路径是需要空间保持纯净的。以及仅仅知道在设置路由的时候有namespace,但真正里面的思想我并不理解。这个采用工程思维,创建jupyter notebook的时候按照一个独立的空间来做,其他的请教别人;之后在半年的时候,研究下命名空间的东西,稍微了解下这个思想。

  • 检查法律义务,必要时获取授权
    整个项目的甘特图与整体方案清单的罗列必不可少的一个人就是对有过整体方案经验的从业人员。其中检查法律任务,必要时获取授权这件事就是需要这个关键人物来把控的。但是整个项目小组的人员要参与进来,因为机器学习项目小组的人员是需要持续不断的学习的。对于人材的培养是最重要的。

  • 获取访问权限
    获取访问权限结合预估数据结构与体量是保持一致的。对模型数据体量做简单的评估后,需要补充获取的数据,或者项目完全需要的新数据维度,如果需要的话,是需要获取某些平台或客户或对应业务的访问权限的。这也表明一件事,那就是真的需要一个Team。

  • 创建工作空间(确保有足够的存储空间)
    机器学习项目大多会结合海量数据。海量数据的存储在企业中因为各种海量数据的成熟,已经是较为方便的事情了。不过这个事情会涉及到部门大多是相应的技术部门对表结构的设计以及数据组对数据的同步。(真的需要一个Team 手动狗头)。

  • 获取数据
    虽然经过前面的很多准备,但是在获取数据这个清单中,实际数据验证是必不可少的,而且可能会非常耗时。所以才会有互联网巨头入职机器学习项目先在数据探查与取数待半年这件事。虽然短暂看不合理,但是对数据完成了解后,对数据的认知是不同的。而这个软实力才更为重要。

  • 将数据转化为可操作的格式(不改变数据本身)
    python数据类型(int float list dict tuple set str除去常规的类型,还有complex bool类型)但是因为机器学习项目中目前较常使用scikit-learn,所以数据以DataFrame数据结构存储。在没有明确的指定类型的情况下,所有的数据都可以认为是object类型。
    对数据转化为可操作的格式是因为需要对数据进行初步的探查,比如最基础的head()、describe()等做基础的数据摘要来看。

  • 确保删除和保护敏感信息(比如:匿名)
    这部分数据在做数据维度清单列表的时候,以及在做数据验证的过程中进行优化、操作。不再重新在清单中单独列出步骤。但是思想是重要的,那就是数据的安全性。

  • 检查数据的类型和大小(样本、地点、时间序列)
    对于一些数据类型,比如int64,在数据摘要中确认数据后,不影响数据的情况下,缩小数据的存储空间。这样有助于在训练模型时缩短训练时间。对于object类型,确认是由于文本类型还是由于缺失值造成的数据类型不明确。对于在后期数据探查与分析中需要用到的时间序列,是需要提前进行索引转化的。(这个还要一边数据探查一边补充,待续)。

  • 采样一个数据测试集,放在一边,永远不要用它(防止数据窥探)
    测试集的选取是需要放到这个步骤的。可能会考虑数据的特征工程,但是在实际的步骤中,特征工程采用流水线方式,做成自动化。那么测试集的特征工程也是在真实要进行最后步骤的验证时,才操作。还有数据测试集的采样不能直接20%/80%。要考虑索引的稳定性,要考虑新数据进入数据集不会造成原始数据的变化(比如原来是测试集,现在是训练集)。还要考虑分层抽样,这样无论是训练集还是测试集,都不会因为在数据分层过程中造成数据的不具代表性问题。还有就是真的不要在最后确定前使用测试集,可能会造成测试集过拟合。

… …
获取数据的操作性较强,但是获取数据也是项目确认后贯穿整个项目的事务,所以在获取数据这个清单中还是要进行提问与新知识的吸纳。
… …

numpy,matplotlib,pandas,scipy,scikit-learn
… …
正常的周一也继续写了机器学习项目清单的第二项,赞。

… …
三杯吐然诺,五岳倒为轻
20210111 18:09.

机器学习项目清单(2)相关推荐

  1. 【机器学习】机器学习项目流程

    本文是中国大学慕课<机器学习>的"机器学习项目流程"章节的课后代码. 课程地址: https://www.icourse163.org/course/WZU-14640 ...

  2. 机器学习项目的备忘清单!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Harshit Tyagi,编译:机器之心 机器学习项目中含有众多 ...

  3. 所有机器学习项目都适用的检查清单

    作者:Harshit Tyagi 编译:ronghuaiyang 导读 构建端到端机器学习项目的任务检查清单. 我正在创建一系列[有价值的项目](https://towardsdatascience. ...

  4. 机器学习算法清单!附Python和R代码

    来源:数据与算法之美 本文约6000字,建议阅读8分钟. 通过本文为大家介绍了3种机器学习算法方式以及10种机器学习算法的清单,学起来吧~ 前言 谷歌董事长施密特曾说过:虽然谷歌的无人驾驶汽车和机器人 ...

  5. 如何做机器学习项目规划?一个事半功倍的checklist

    一只小狐狸带你解锁 炼丹术&NLP 秘籍 前言 在接到一个新项目的时候,对其进行合理的安排和规划往往会有事半功倍的效果. 下面是从规划30 多个机器学习项目的经验中,提炼出的一个简单有效的ch ...

  6. 万圣节恐怖表演、内衣检测器......2019 年二十大有趣的机器学习项目盘点

    作者 | Austin Kodra 编译 | 夕颜 出品 | AI科技大本营(ID:rgznai100) [导读]随着神经网络架构.深度学习和机器学习研究的快速发展,同时硬件和软件资源的不断增加,让人 ...

  7. flask部署机器学习_如何开发端到端机器学习项目并使用Flask将其部署到Heroku

    flask部署机器学习 There's one question I always get asked regarding Data Science: 关于数据科学,我经常被问到一个问题: What ...

  8. 机器学习项目模板:ML项目的6个基本步骤

    来源 | DeepHub IMBA 每个机器学习项目都有自己独特的形式.对于每个项目,都可以遵循一组预定义的步骤.尽管没有严格的流程,但是可以提出一个通用模板. 准备问题 不仅是机器学习,任何项目的第 ...

  9. 我的机器学习入门清单及路线!

    Datawhale干货 作者:桔了个仔,南洋理工大学,Datawhale成员 知乎:https://www.zhihu.com/people/huangzhe 这是我个人的机器学习入门清单及路线,所以 ...

最新文章

  1. 大脚导入配置选择哪个文件_「科普向」为何我用大脚时,单体插件会安装失败?...
  2. 用js实现分享到随页面滚动而滑动效果
  3. python 16进制加法_在python中追加2个十六进制值
  4. CodeForces - 1228B Filling the Grid(思维,水题)
  5. python多线程 不在main_从python线程(不是main)启动pyQt线程有什么不...
  6. 基于javafx的五子棋_基于JavaFX的SimpleDateFormat演示程序
  7. 数据图表可视化_数据可视化如何选择正确的图表第1部分
  8. yum安装ruby_centos 6.5 ruby环境安装
  9. oracle放在内存里,oracle如中何把小表钉住在内存中
  10. Python简洁的出入库系统(模块化)
  11. Python3异常-AttributeError: module 'sys' has no attribute 'setdefaultencoding'
  12. Vue-Router 页面正在加载特效
  13. JAVA生成32位随机字符串工具
  14. 数学分析教程(第三版)读后感
  15. 图像坐标球面投影_PostGIS空间数据库SRID背景知识 - 地理坐标系(球面坐标系)和投影坐标系(平面坐标系)...
  16. 计算机里的及格率和有优秀率怎么算,excel表格计算优秀及格率的教程
  17. 基于python、百度ocr、multiprocessing多进程、selenium网页自动化 、pyqt5界面弹出,实现发票的识别与对学校财务网站的脚本自动化上传操作的项目总结
  18. Android 修改wifi阀值,6种简单方法使WiFi网络提速
  19. Ubuntu 商店无法安装应用
  20. js将url转换二维码

热门文章

  1. 基于Verilog搭建一个卷积运算单元的简单实现
  2. clearInterval()不生效
  3. 面试题,你多久能到岗
  4. Ajax实例讲解与技术原理
  5. 融合通信技术趋势和演进方向
  6. java xpath语法_XPath详解
  7. 医院医生和护士都不愿说的医学小常识,不看不知道,一 看吓一跳!
  8. 16012009徐小东_考核三
  9. JWTToken介绍
  10. 根据哔哩哔哩上的视频,使用idea整合ssm