:在一个机器学习项目中,你需要做哪些工作?
机器学习是通过对已有数据进行模型训练 , 再将训练好的模型应用于未知数据的过程 。从这句话中我们可以看到几个关键要素:数据 , 模型 , 训练 , 应用 。对于一个通常的机器学习项目 , 这些确实是其中最核心的环节 。那么 , 对于其中每一个项目 , 我们具体要做哪些工作?这些工作之间有什么联系?在这些核心工作之外 , 还有哪些我们可能忽略的项目 。本文我们来探讨这些问题 。内容主要参考了
《Hands-On Machine Learning with Scikit-Learn and TensorFlow》一书 。
文章图片
文章图片
总体框架
实际中 , 问题最初是从一个商业问题开始的 , 比如“如何预测某地区未来的房价是多少?”熟悉机器学习的同学可能会知道 , 这是一个典型的回归问题 。但此时我们更应该思考问题本身与现有业务的联系 , 比如该项目的如何影响上下游的业务 , 而不是项目本身的细节 。可以参考下面的框架:
文章图片
文章图片
将问题框架化并且关注重点
问题定义好了之后 , 就需要着手准备数据了 。这个过程也不是盲目进行的 , 也需要考虑与之相关的很多细节 。如数据源 , 存储空间 , 数据敏感性 , 获取成本等 。下面的框架可以给我们一些提示 。
文章图片
文章图片
获取数据
从获取数据开始 , 就进入我们上文提到的核心环节 。探究数据和可用性 , 分布 , 可视化等非常必要 , 也能帮助我们进一步思考数据与最终目标的联系 。这一环节通常被称为探索性分析 , 具体可以参考下面的步骤 。
文章图片
文章图片
探索数据
上一步骤中认识了数据 , 结合前面对于问题的定义 , 接下来就需要对数据进行预处理 。通常包含两部分工作:数据预处理和特征工程 。预处理的部分包括异常值 , 缺失值 , 重复值等;特征工程则包括特征提取 , 特征构建 , 特征缩放 , 特征融合等环节 。这一环节通常会特别耗时 , 甚至可能会占用绝大多数的时间 , 下面的步骤虽然不是面面俱到 , 但也能给我们一些参考 。
文章图片
文章图片
准备数据
处理完数据 , 我们来看模型 。机器学习有很多经典的模型 , 可以用于分类 , 回归 , 聚类 , 关联分析等方面 , 要根据我们的目标问题选择合适的模型 , 还要选择合理的评估指标对模型做合理的评价 。模型与上一步的特征紧密相关 。需要经过多次迭代之后才能找到更合适的模型 。这一环节的训练测试耗费的精力可能不亚于上一步骤的特征工程 。模型中超参数的选择可能有很多技巧 , 也是需要经验知识来支撑 , 并且可能会用到很多优化技巧 , 如贝叶斯优化方法 。
文章图片
文章图片
推荐阅读
- 功能:能解决孩子的学习问题吗?牛听听儿童智能熏教机体验!
- 「」国产固态硬盘的摸奖式开箱:映泰M700
- 『』华为P40中招,这款神将仅一个月跳千元?1亿像素+8K视频+骁龙865
- 「游戏」在任天堂Switch上倒贴30块钱“加班”,我一个程序员还觉得很刺激
- 机器人:青岛造运输机器人打败五家外企 成功进驻世界最大中转枢纽港
- 每日经济新闻咨询@联邦学习成人工智能新贵 腾讯安全:技术服务能力才是重点
- []美国科学家发现太阳系边界,竟是一个巨型光球,把人类圈养在其中
- 快科技:知名种子站点遭杀软报毒拦截:宕机一个月才刚恢复
- 『手机』手机过气功能你怀念谁?3.5毫米第一个不服
- 「时间」iPhone se2这机器放在现在这个时间,真的有点奇怪