简单线性回归

这篇记录的是简单线性回归算法的实现,所谓简单线性回归就是对只含有一个特征的数据集进行回归预测。
回归问题和分类问题的区别在于预测的结果一个是连续型的,一个是离散型的。
简单线性回归的损失函数:
简单线性回归
即:(真实值-预测值)平方的和,我们希望这个值越小越好。
简单线性回归
简单线性回归
下面是实现简单线性回归的算法

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

以上是观视频课的读书笔记,如有错误请批评指正,谢谢。