本部分展现一个ML项目,假设是一家房地产公司的新聘数据科学家。下面是这个项目的步骤:python
在学习机器学习时,最好尝试使用真实数据而不是人工数据集。本部分使用的示例数据集是“加利福尼亚住房价格”数据集,该数据集基于1990年加利福尼亚人口普查的数据。算法
项目任务是使用加利福尼亚人口普查数据创建该州房价模型。数据包括加利福尼亚州每一个街区组的人口,中位数收入和房价中位数等指标。模型从这些数据中学习,并可以根据全部其余指标来预测任何地区的房价中位数。框架
机器学习项目的首要任务是明确业务目标究竟是什么。目标将决定问题的框架,选择的算法,评估模型的性能指标以及调整模型的工做量。下图是该示例项目的目标:机器学习
能够看到,该项目模型的输出(对某个地区房价中位数的预测)将与其余许多信号一块儿被馈送到另外一个机器学习系统。性能
在设计这个系统前,须要回答这些问题:是监督学习,无监督学习仍是强化学习?它是分类任务,回归任务仍是其余?您应该使用批处理学习仍是在线学习技术?学习
该项目属于:设计
supervised learning task3d
regression taskblog
batch learning(数据源不是流式的)ip
评价指标:均方根偏差(RMSE),计算方法:
或者也可使用MAE:
上边RMSE是欧式距离,而MAE是曼哈顿距离,固然还有普通的n阶。规范指数越高,它越关注大值而忽略小值。这就是为何RMSE对异常值比MAE更敏感的缘由。可是,当离群值呈指数形式稀有时(如钟形曲线),RMSE表现很是好,一般是首选。
我安装的Anaconda的多环境,该应用准备使用python3来完成,因此在python3的环境下,须要安装 pandas、matplotlib、scikit-learn等包,以下代码 :
$ conda list # 查看pip版本 $ python -m pip --version # 使用pip来安装包 $ python -m pip install matplotlib scipy scikit-learn