选自Towardsdatascience
作者:Harshit Tyagi
机器之心编译
参与:小舟、杜伟
机器学习项目中含有众多因素,包括数据处理、模型优化等。开发者经常会陷入混乱,或者遗漏一些重要的东西。这里有一份备忘清单,请查收。
任何科研项目都是系统性的,机器学习项目也不例外,它包含一系列大大小小、或繁或简的要素和组件,如讨论、准备工作、提出问题、模型构建和优化调整等。在这种情况下,开发者很容易漏掉一些重要的东西。
这时就需要对项目中经涉及到的任务做一份详尽的清单。有时开发者绞尽脑汁也无法找到一个好的起始点,那么任务清单则有助于他们在正确的信息源中提取有用的数据并建立联系,从而发掘出深刻见解。
此外,还需要对项目中的每项任务进行规划的检查,确保任务的完成度。
正如 Atul Gawande 在其著作《清单宣言:如何把事情做对》(Checklist Manifesto)中说到的:
我们所了解事物的数量和复杂度已经超出了自身从它们中正确、安全或可靠地获益的能力。
在本文中,网页和数据科学讲师 Harshit Tyagi 以端到端机器学习项目为例,对经常涉及的任务做了一份清单。
本文作者 Harshit Tyagi。
接下来,我们就来看 Harshit Tyagi 是如何一步步创建属于自己的机器学习项目任务清单的。
八步完成 ML 项目检查清单
几乎每个机器学习项目中都至少要执行 8-10 个步骤,其中一些步骤的执行顺序也可以互换。
步骤 1:从一个高水平的视角定义问题
执行此步骤是为了弄清楚问题的业务逻辑。你应该了解到:
步骤 2:确定数据源并获取数据
在大多数情况下,如果你已经准备一些数据并想要定义关于这些数据的问题以更好地利用输入的数据,那么你可以先于步骤 1 执行这个步骤。
基于问题的定义,你需要确定数据源中哪些可以作为数据库或传感器等。对于生产中某个应用的部署,这一步应该通过开发数据 pipeline 来实现自动化,以保证输入的数据能够进入系统。
具体步骤如下:
步骤 3:初步探索数据
在这一步中,你需要对所有影响项目结果 / 预测 / 目标的特征进行研究。如果数据量很大,请对数据进行采样使得分析更易管理。具体步骤如下:
步骤 4:探索性数据分析以准备数据
在这一步中,通过定义数据转换、数据清理、特征选择 / 工程和扩展的函数来处理之前步骤中的发现。具体如下:
步骤 5:开发一个基线模型,然后探索其他模型以选出最佳模型
创建一个能够为所有其他复杂机器学习模型提供基线的基础模型。具体步骤如下:
步骤 6:优化你选出的模型并检查相关方法
这是你更加接近最终解决方案的关键步骤之一,具体步骤如下:
步骤 7:保存代码并交流你的方案
交流的过程也是性能加倍的过程。你需要记得所有已有或潜在的利益相关者。主要步骤包括如下:
步骤 8:将模型投入生产并监测模型
如果你的项目需要在实时数据上进行测试,你应该创建一个可以在所有平台(web、android、iOS)上使用的网页版应用或 REST API。主要步骤包括:
最后,创建任务清单时需要注意的一点是:你可以根据项目的难易程度来对清单进行实时调整。
原文链接:https://towardsdatascience.com/task-cheatsheet-for-almost-every-machine-learning-project-d0946861c6d0