一、使用真实数据
- 流行的开放数据存储库:
UC Irvine Machine Learning Repository(http://archive.ics.uci.edu/ml/)
Kaggle datasets(https://www.kaggle.com/datasets)
Amazon`s AWS datasets(http://aws.amazon.com/fr/datasets/)
- 元门户站点(她们会列出开放的数据存储库):
Data Portals(http://dataportals.org/)
OpenDataMonitor(http://opendatamonitor.eu/)
Quandl(http://quandl.com/)
二、观察大局
2.1框架问题
2.2选择性能指标
回归问题的典型性能指标是均方根误差(RMSE)。它给出了系统通常会在预测中产生多大误差,对于较大的误差,权重较高。
2.3检查假设
三、获取数据
3.1创建工作区
Python需要的模块:Jupyter、NumPy、pandas、Matplotlib以及Scikit-Learn
3.2下载数据
3.3快速查看数据结构
DataFrames的head()方法之后的前5列是怎样的
通过info()方法可以快速获取数据集的简单描述,特别是总行数,每个属性的类型和非空值的数量
可以使用value_counts()方法查看有多少种分类存在,每种类别
通过describe()方法可以显示数值属性的摘要
3.4创建测试集
四、从数据探索和可视化中获得洞见
4.1将地理数据可视化
4.2寻求相关性
4.3试验不同属性的组合
五、机器学习算法的数据准备
5.1数据清洗
- 放弃相应的区域
- 放弃整个属性
- 将缺失值设置为某个值(0,平均数或者中位数等)
5.2处理文本和分类属性
5.3自定义转换器
Scikit-Learn提供了许多有用的转换器
创建类方法:
- fit(返回self)
- transform()
- fit_transform()
5.4特征缩放
同比例缩放所有属性的两种常用方法是最小-最大缩放和标准化
最小-最大缩放(又叫作归一化)很简单:将值重新缩放使其最终范围归于0~1之间。实现方法是将值减去最小值并除以最大值和最小值的差。
六、选择和训练模型
6.1训练和评估训练集
先训练一个线性回归模型:
from sklearn.linear_model import LinearRegression
lin_reg=LinearRegression
lin_reg.fit(housing_prepared,housing_labels)
6.2使用交叉验证来更好地进行评估
Scikit-Learn的交叉验证功能更倾向于使用效用函数(越大越好)而不是成本函数(越小越好)
七、微调模型
7.1网格搜索
7.2随机搜索
7.3集成方法
7.4分析最佳模型及其误差
7.5通过测试集评估系统
八、启动、监控和维护你的系统
- 将模型部署到生产环境中或者将模型包装在Web应用程序中
- 将模型部署到云上
编写监控代码以定期检查系统的实时性能,并在系统性能降低时触发警报
监控模型的实时性能,建立一个监控系统以及随着数据不断地发展,需要更新数据集并定期重新训练模型