简单线性回归
这篇记录的是简单线性回归算法的实现,所谓简单线性回归就是对只含有一个特征的数据集进行回归预测。
回归问题和分类问题的区别在于预测的结果一个是连续型的,一个是离散型的。
简单线性回归的损失函数:
即:(真实值-预测值)平方的和,我们希望这个值越小越好。
下面是实现简单线性回归的算法
import numpy as np
import matplotlib.pyplot as plt
#这里我们自己设置一个简单的训练集
x=np.array([1.,2.,3.,4.,5.])
y=np.array([1.,3.,2.,3.,5.])
#通过散点图可视化
plt.scatter(x,y)
plt.axis([0,6,0,6])
plt.show()
#根据我们上述的a,b推导公式求a,b
x_mean=np.mean(x)
y_mean=np.mean(y)
num=0.0#初始化a的分子
d=0.0#初始化a的分母
for x_i,y_i in zip(x,y)
num+=(x_i-x_mean)(y_i-y_mean)
d+=(x_i-x_mean)**2
a=num/d
b=y_mean-a*x_mean
#y_hat 预测值
y_hat=a*x+b
#进行可视化
plt.scatter(x,y)
plt.plot(x,y_hat,color='r')
plt.axis([0,6,0,6])
plt.show()
#给出x进行预测
x_predict=6.0
y_predict=a*x_predict+b
y_predict
以上是观视频课的读书笔记,如有错误请批评指正,谢谢。