目录
本篇中,我们将学习一个端到端的项目案例,假设我们是一个房地产公司新雇佣的数据科学家,以下是我们将会经历的主要步骤:
- 观察大局
- 获得数据
- 从数据探索和可视化中获得洞见
- 机器学习算法的数据准备
- 选择和训练模型
- 微调模型
- 展示解决方案
- 启动、监控和维护系统
1 框架问题
你问老板的第一个问题,应该是询问业务目标是什么,因为建立模型本身可能不是最终的目标。公司期望知道如何使用这个模型,如何从中获益?这才是重要的问题,因为这将决定你怎么设定问题,选择什么算法,使用什么测量方式来评估模型的性能,以及应该花多少精力来进行调整。
老板回答说,这个模型的输出(对一个区域房价中位数的预测)将会跟其他许多信号一起被传输给另一个机器学习系统(如下图)。而这个下游系统将被用来决策一个给定的区域是否值得投资。因为直接影响到收益,所以正确获得这个信息至关重要。
一个针对房地产投资的机器学习流水线
要向老板询问的第二个问题,是当前的解决方案(如果有的话)。你可以将其当作参考, 也能从中获得解决问题的洞察。老板回答说,现在是由专家团队在手动估算区域的住房价格——一个团队持续收集最新的区域信息(不包括房价中位数),然后使用复杂的规则来进行估算。既昂贵又耗时,而且估算结果还不令人满意,显著误差率高达15%。
好的,有了这些信息,我们现在可以开始设计系统了。显然,这是一个典型的监督式学习任务,因为已经给出了标记的训练示例(每个实例都有预期的产出,也就是该地区的房价中位数)。并且这也是一个典型的回归任务,因为你要对某个值进行预测。更具体地说,这是一个多变量回归问题,因为系统要使用多个特征进行预测(使用到区域的人口、收入中位数等)。
2 选择性能指标
2.1 均方根误差(RMSE)
回归问题的典型性能指标是均方根误差(RMSE),它测量的是预测过程中,预测错误的标准偏差。例如,RMSE等于50000 就意味着,系统的预测值中约68%落在50000美元之内,约95%落在100000美元之内。(一种常见的特征分布是呈钟形态的分布,称为正态分布(也叫高斯分布), “68-95-99.7”的规则是指:大约68%的值落在1内,95%落在2内,99.7%落在3内。)
均方根误差(RMSE):
公式符号:
- m是在测量RMSE时,所使用的数据集中实例的数量。
- 例如,如果你在评估RMSE时使用的验证集里包含2000个区域,则m=2000。
- 是数据集中,第个实例的所有特征值的向量(标签特征除外), 是标签 (也就是我们期待该实例的输出值)。
- 例如,如果数据集的第一个区域位于经度-118.29° ,纬度33.91°,居民数量为1 416,平均收入为38 372美元,房价中位数为156 400美元(暂且忽略其他特征),那么:
- X是数据集中所有实例的所有特征值的矩阵(标记特征除外)。每个实例为一行,也就是说,第行等于的转置矩阵,记作。