标称型数据和数值型数据_利用回归预测数值型数据

  1. 线性回归

线性回归中的数学知识

在线性回归中,最重要的莫过于在一大堆的数据中找回归方程

5fe148fb146ca3d97c24550fd6641226.png

比较简单的方法是,可以利用最小二乘法寻找误差最小的那条直线.

利用最小二乘法计算loss可以写为:

5ed9d4356b63e64ec433af1dc56fe4af.png

为了找到loss最小的那条直线,我们可以对w求导,得到

8f26bb1f4959f5d1de51f7b715943720.png
5d1f8420b93c7efc652f58d61ee1f8dd.png

因此求回归方程转变为求参数w.

实现代码

def standRegres(xArr,yArr): xMat=np.mat(xArr) yMat=np.mat(yArr).T xTx=xMat.T*xMat if np.linalg.det(xTx)==0.0: print('error') return ws=xTx.I*(xMat.T*yMat) return ws

求出参数w

将回归直线去拟合实际数据

import matplotlib.pyplot as pltfig=plt.figure()ax=fig.add_subplot(111)ax.scatter(xMat[:,1].flatten().A[0],yMat.T[:,0].flatten().A[0])xCopy=xMat.copy()xCopy.sort(0)yHat=xCopy*wsax.plot(xCopy[:,1],yHat)plt.show()
af6f32f4e93c42383bcaa73af093d3d3.png

可以看到虽然直线显示了大概的趋势,但并不能很好的去拟合数据,下面介绍一种强大的回归--""局部加权线性回归

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值