手把手带你建立一个完整的机器学习项目

附Java/C/C++/机器学习/算法与数据结构/前端/安卓/Python/程序员必读技术书单大全:

书单导航页(点击右侧小资源即可打开个人博客):技术书栈

=====>>【Java大牛带你入门到进阶之路】<<====

在这篇文章中,将介绍机器学习项目的流程

明确问题

首先,我们需要预览这个项目。项目的目的是什么,以房价预测为例,数据为StatLib的加州房产数据,那么目的就是预测街区的房产价格中位数。

划定问题及分析

要知道商业目的是什么,毕竟建立模型不是最终目的。比如说,目的是输出一个价格传给另一套系统来判断是否值得投资以及利润是多少。 要知道现在的解决方案效果怎么样,比如会给出一个现解决方案的误差率是alpha。 现在我们可以进一步研究问题,明确这个问题是监督/非监督,还是强化模型?是分类/回归,还是聚类等其他。要使用批量学习还是线上学习? 分析,我们有房价的值,所以是一个监督问题;我们最终是要预测得到房价中位数,因此是一个回归问题,而且是一个多变量预测回归,因为有很多影响参数;另外,没有连续的数据流入,没有特别需求需要对数据变动作出快速适应。数据量不大可以放到内存中,因此批量学习就可以。【如果数据量很大,你可以要么在多个服务器上对批量学习做拆分(使用 MapReduce 技术,后面会看到),或是使用线上学习】

选择性能指标

在这里我们需要选择一个评价指标,回归问题的典型指标是均方根误差RMSE,它表征的是系统预测误差的标准差。 另外,也可以使用差平方绝对误差。

核实假设

再一次核实之前的分析是否准确,需要联系下游的处理进行检查。

获取数据

创建工作空间

比如python jupyter及相应的库文件(如numpy, pandas, scipy, 及sklearn等)和框架(tf等)

下载数据

一般来说,可以从数据库中下载数据,但是对于数据库一般需要密码及权限。在这里,我们可以直接从网页数据,当然,这是具体问题具体分析的。

查看数据

下载好数据后,我们需要查看一下数据的结果,预览一下。基本用到以下代码

import pandas as pd
data=pd.read_csv('路径')
data.head()
data.info()#返回特征的数量及类型
data.describe()#返回数量、均值、标准差、最值等信息

另外也可以使用柱状图通过可视化查看数据的分布,代码:

%matplotlib inline   # only in a Jupyter notebook
import matplotlib.pyplot as plt
data.hist(bins=50, figsize=(20,15))
plt.show()#在jupyter中可以不加这条语句

hist()方法依赖于 Matplotlib,后者依赖于用户指定的图形后端以打印到屏幕上。因此在画图之前,你要指定 Matplotlib 要使用的后端。 最简单的方法是使用 Jupyter 的魔术命令%matplotlib inline。它会告诉 Jupyter 设定好 Matplotlib,以使用 Jupyter 自己的后端。绘图就会在 notebook 中渲染了。

附Java/C/C++/机器学习/算法与数据结构/前端/安卓/Python/程序员必读技术书单大全:

书单导航页(点击右侧小资源即可打开个人博客):技术书栈

=====>>【Java大牛带你入门到进阶之路】<<====

天下没有不劳而获的果实,望各位年轻的朋友,想学技术的朋友,在决心扎入技术道路的路上披荆斩棘,把书弄懂了,再去敲代码,把原理弄懂了,再去实践,将会带给你的人生,你的工作,你的未来一个美梦。

发布了35 篇原创文章 · 获赞 16 · 访问量 1254

猜你喜欢

转载自blog.csdn.net/JKX_geek/article/details/102925048