【机器学习课程-华盛顿大学】1、A Case Study 1.1 Regression:房价预测

Regression

回归在机器学习中占用十分重要的地位,可以用来预测、分类等。

Linear regression model

  • 根据给出的数据,找出一条直线来拟合。
    线性回归
  • 如何找到我们想要的直线。找出w使得残差平方和最小。
    在这里插入图片描述

增加更多的特征使用更高次拟合

  • 二次拟合y= w0+w1x+w2x^2
    在这里插入图片描述
  • 甚至更多项拟合
    在这里插入图片描述
  • 这是十三次项的拟合结果,虽然使得残差平方和最小,但是并不是满意的结果,因为这样导致了过拟合问题,我们处理问题不能仅限于手中的这些资料

如何选择更好的拟合(处理过拟合问题)

  • 将数据分为测试集和训练集

在这里插入图片描述

  • 删除一部分点->测试集
  • 保留的点->训练集
  • 增加复杂度可以减少训练集的误差,但是到一定的程度会增加测试集的误差

在这里插入图片描述## 增加更多的特征来评价

  • bathrooms的数量
    在这里插入图片描述

整体思想

在这里插入图片描述

代码部分

使用graphlab

  • 创建测试集和训练集
import graphlab
sales = graphlab.SFrame('home_data.sframe')#导入数据
train_data, test_data = sales.random_split(.8,seed=0)#0.8的训练集,随机种子可以是任意数
  • 创建Linear Regression model
my_model = graphlab.linear_regression.create(train_data,target='price',feartures = ['sqft_living']
  • 评估模型
my_model.evaluate(test_data)#返回最大误差和rmse(均方根误差)
  • 增加feature只需要将features参数替换即可,一般而言features越多模型误差越小
posted @ 2022-08-27 11:09  JOJO数据科学  阅读(54)  评论(0编辑  收藏  举报