Hands on Machine Learning with Scikit-learn and TensorFlow 读书笔记
Chapter 2 End-to-End Machine Learning Project
在这一章,你将会走完一个完整的机器学习项目。主要步骤如下:
- 对所需解决的问题有一个总体的思路
- 获取数据
- 通过数据可视化来得到对数据潜在规律的一些思考
- 在训练模型之前先对数据进行预处理
- 选择一个合适的模型进行训练
- 调整并找到最合适的模型参数
- 长期监督并维护你的学习系统
上一篇写了1和2,这篇来写后面的。(怎么感觉这篇也写不完???哈哈哈算了先写着吧)
-
通过数据可视化来得到对数据潜在规律的一些思考:
上一篇文章我们已经对数据集有了大致的了解,第三步我们要做的是把测试集扔在一边不要管,然后来探索一下训练集的数据潜在逻辑,我们复制一份训练集数据以免破坏原数据:housing = strat_train_set.copy()
我们观察到数据集中包含了一个地理信息(经纬度),让我们可视化来看看:
这样其实还是不好分辨他的分布规律,我们可以设置参数 alpha:
我这里的 alpha 设置的是0.2,原书是0.1,大家可以自己试试别的数值,越接近零,透明度越高;设置了 alpha 以后,分布规律就变得很显然了,颜色深的地方密度更大。
现在我们加入更多的属性来看,设置每个圆点半径表示某地区的人口,圆点颜色表示房价,用一个定义好的colormap(jet)来表示房价的高低:
这一轮探索让我们发现房价跟地理位置以及人口数量的关系。
接下来我们进一步探索属性之间的相关性,可以用 corr() 方法来简单的计算 Pearson 相关系数,然后查看每个属性与房价的相关性:
能看到中值收入(median_incom