2- 回归模型预测房价
房子特征: 房子多大,有几个房间
房子观测量:房价
运用回归进行分类。邮件特征判断是否是垃圾邮件。
预测房价对于中国很适合。不知道房子值多少钱,通过查看邻居房子的销售情况。
记录周围区域的每一间房子的样子和面积等特征值。
mark每一个点代表房子售价。
术语: x - 特征,协变量 预测变量(自变量)
y - 观测或反映(因变量)
- 通过相似的房子预测你的房子
找到与你房子面积大小差不多的房子,看看他们的价格。一般很少能找到一模一样大的
mark找到附近面积区间内和我房子一样大的。可是只有两个在区间之内的。
别的观察值也需要被采纳进我们的预测中。
应用线性回归模型
通过数据拟合一条线来预测。
mark线:y=kx+b
w0 和 w1 斜率决定。w1 称为x上的权重或回归系数。
不同的参数w可以拟合出很多条线?可是哪一条才是我们想要的正确的线呢。
定义选择给定一条线的成本: 与数据拟合相关的非常常见的成本叫做残差平方和(RSS)
定义:
mark模型预测的结果和实际结果有多远。残差就是实际观测和预测的差异。
每一个观测价格减去预测价格之后平方并累计求和。
选择残差和最少的一条线就是我们最终想要拟合的模型。
截距与斜率。有非常成熟的算法找到我们想要的两个参数
mark房屋价格的最好猜测就是将房屋面积进行带入。
mark加入更高阶的因素。
会不会它并不是一条直线呢。如果用二次函数怎么样?
mark mark一次项,二次项,截距。虽然是一个二次函数。但是仍然叫做线性回归。
因为我们把x的平方认为是另一个回归量。但是w仍然是w没有变。
我们在寻找残差平方和最小的时候。我们需要寻找一个最佳的三个参数的组合。
用更高阶的多项式效果如何?
markmark十三次的曲线确实rss降到了最低。曲线通过了所有点。残差均为0.
通过这个曲线预测出的价格过低,违背常理。这是一种过拟合的现象。
通过训练和测试分离来评估过拟合。
想要拟合模型,但是又不能使模型太过于局限于我们已有的数据集。
这样的模型不能很好的泛化,无法在新观测到的数据集上进行正确的预测。
虽然很小化了Rss但是预测效果却很差。
如何选择模型阶数或复杂度
想要得到好的预测,但要观察到未来。
模拟预测
- 移除一部分房子
- 通过剩余的房屋数据拟合我们的模型
- 预测剩下的房子
好的效果是在我有足够多的数据来拟合的前提下。
训练 / 测试分离
术语:
- 训练集
- 测试集(真实预测房屋的替代品)
训练误差
mark蓝色的点代表我们在训练集中的房屋。
mark依然通过残差和的计算找出我们在训练集的误差和。最小化以选择w。
测试误差
在灰色的实际测试集房屋上,依然采用残差平方和进行计算。
mark训练测试曲线
那么我们可以考虑考虑我们的测试误差和训练误差之间是否存在一定的函数关系。
mark如我们采用了13次多项式进行拟合,随着模型复杂度的上升,训练误差会随着越来越小。
w帽子就是我们想要搜索出的最优的解决参数
测试集中的数据:某一个点上我们的测试误差很可能会上升。
加入新的特征
不仅仅是看屋子的面积和价格的关系而是加入更多的特征。
mark不再使用一条直线而是使用一个平面来进行拟合。
w0表示截距,平面在y轴上的位置。w1乘以房屋面积 w2乘以澡堂的数量
应该选择多少特征?
mark其他回归示例
- 学完这门课之后的薪水。
薪水的多少依赖于几个特征。预测y帽子的时候,估计模型的参数。
mark权值。通过其他学习本门课的学生的数据得到。
- 股票的预测
- 微博流行度
多少人会转发你的微博?
mark- 智能房屋
回归总结
机器学习流水线
mark数据喂给机器学习的方法然后产生智能应用。
mark训练集 特征提取: 选取一部分特征。得到模型,房屋价格的预测值y冒。
参数w冒。回归系数,权重。将房屋的真实价格与预测价格进行比较产生了质量评估。
残差平方和。使用迭代的方式根据残差平方和的大小不断调整权重。
实际构建房屋售价模型
见ipython notebook 代码
构建房屋售价预测回归模型
网友评论