前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在一个机器学习项目中,你需要做哪些工作?

在一个机器学习项目中,你需要做哪些工作?

作者头像
超哥的杂货铺
发布2020-02-24 18:03:30
6360
发布2020-02-24 18:03:30
举报
文章被收录于专栏:超哥的杂货铺

机器学习是通过对已有数据进行模型训练,再将训练好的模型应用于未知数据的过程。从这句话中我们可以看到几个关键要素:数据,模型,训练,应用。对于一个通常的机器学习项目,这些确实是其中最核心的环节。那么,对于其中每一个项目,我们具体要做哪些工作?这些工作之间有什么联系?在这些核心工作之外,还有哪些我们可能忽略的项目。本文我们来探讨这些问题。内容主要参考了

《Hands-On Machine Learning with Scikit-Learn and TensorFlow》一书。

总体框架

实际中,问题最初是从一个商业问题开始的,比如“如何预测某地区未来的房价是多少?”熟悉机器学习的同学可能会知道,这是一个典型的回归问题。但此时我们更应该思考问题本身与现有业务的联系,比如该项目的如何影响上下游的业务,而不是项目本身的细节。可以参考下面的框架:

将问题框架化并且关注重点

问题定义好了之后,就需要着手准备数据了。这个过程也不是盲目进行的,也需要考虑与之相关的很多细节。如数据源,存储空间,数据敏感性,获取成本等。下面的框架可以给我们一些提示。

获取数据

从获取数据开始,就进入我们上文提到的核心环节。探究数据和可用性,分布,可视化等非常必要,也能帮助我们进一步思考数据与最终目标的联系。这一环节通常被称为探索性分析,具体可以参考下面的步骤。

探索数据

上一步骤中认识了数据,结合前面对于问题的定义,接下来就需要对数据进行预处理。通常包含两部分工作:数据预处理和特征工程。预处理的部分包括异常值,缺失值,重复值等;特征工程则包括特征提取,特征构建,特征缩放,特征融合等环节。这一环节通常会特别耗时,甚至可能会占用绝大多数的时间,下面的步骤虽然不是面面俱到,但也能给我们一些参考。

准备数据

处理完数据,我们来看模型。机器学习有很多经典的模型,可以用于分类,回归,聚类,关联分析等方面,要根据我们的目标问题选择合适的模型,还要选择合理的评估指标对模型做合理的评价。模型与上一步的特征紧密相关。需要经过多次迭代之后才能找到更合适的模型。这一环节的训练测试耗费的精力可能不亚于上一步骤的特征工程。模型中超参数的选择可能有很多技巧,也是需要经验知识来支撑,并且可能会用到很多优化技巧,如贝叶斯优化方法。

列出有用模型和微调系统

上面步骤完成后,整个项目最核心的部分可能就结束了,但接下来的工作也是非常重要的。首先需要回到最开始的商业问题,向老板展示你的成果,包括你的方案和思路,最终可能的效果,中间有趣的发现等等。之后要将之前的成果部署和上线,在这一步将你的成果交给实际去检验,在这个过程中可能会产生很多意料之外的问题,需要不断地对模型进行修正和监控。至此,一个完整的项目流程就走完了。

展示解决方案和启动

需要说明的是,上面的框架只是一个参考,实际中并不是每一个步骤都会用到,可以根据需要检查和选择。每一环节的重要性也都各不相同,但都非常重要。有些步骤可能并不十分具体,还需要实际中进一步查看相关资料。不过这个框架从全局角度给我们带来一个机器学习的项目全貌,便于从宏观角度把握每一环节所处的位置,这是一种很重要的做事思路。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 超哥的杂货铺 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档