从零开始实现一个端到端的机器学习项目[1]

从零开始实现一个端到端的机器学习项目

基于书籍《Hands-on Machine Learning with Scikit-Learn, Keras & TensorFlow》的笔记

1.前言

本次博客遵从原书,同样从StatLib库中选择了加州住房价格的数据集,此数据集来源于1990年的加州人口普查,确实有点老了,但作为教程也已经足够了。
从零开始实现一个端到端的机器学习项目[1]_第1张图片

首先明确我们的目标是什么,我们希望通过加州人口普查的数据(包含很多特征(包括数值和文本特征)建立起加州的房价模型。作为一个专业的数据科学家,我们应该有一份专门的框架计划书可以照做,形成一个科学规范的流程。

机器学习项目规范步骤清单

如果你还在问为什么是英文的,那是因为如果你想要从事ML或者DL,你读各种文献-包括经典的国外教程都是英文的,这都是必经之路,如果实在看不懂,你也可以支持翻译作者出版的《机器学习实战》的中文版。

从零开始实现一个端到端的机器学习项目[1]_第2张图片

上图一个机器实战项目-房价预测落地的流水线-在工程中,老板并不会关心你的模型是什么,精度达到了多么高,他更关心你的模型怎么使用?怎么样获得收益?在上图中,事实上我们负责的部分只到district prices-也就是预测区域的房价,其将会作为一个特征与其他可能的特征一起被送入到下游的投资分析中,并最终决策是否进行投资,所以,我们要完成的工作事实上只是整个投资决策流水线中的一环。

关于流水线(大家可以仔细阅读下图):

从零开始实现一个端到端的机器学习项目[1]_第3张图片

在开始我们的机器学习项目之前,在工程中,我们还需要请教之前做这个项目的专家,并从他们那里获得一些洞见,例如他们使用了什么样的复杂的启发式规则去进行预测?最终结果如何?这些规则是否值得我们借鉴去挖掘新的数据来帮助我们的机器学习模型?

得到了上面的所有信息后,我们可以开始对我们要做的机器学习系统做一个简单的思考。

很明显,房价预测是一个监督学习任务,且是一个回归任务,因为需要预测,有多个特征且只有一个预测值,所以是多重特征一元回归问题,没有一个连续的数据流不断流入系统,所以先只需要对目前的数据进行批量学习即可,当加入新的数据后再进行重新训练。当数据庞大时,需要使用大数据技术进行分布式存储与训练(如MapReduce技术)。

你可能感兴趣的:(从零实现端到端机器学习项目,机器学习,人工智能,python)