算法实现
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()
均值
x_mean=np.mean(x)
y_mean=np.mean(y)
求a,b
num=0.0
d=0.0
for x_i , y_i in zip(x,y):
num+=(x_i-x_mean)*(y_i-y_mean)
d+=(x-x_mean)**2
a=num/d
b=y_mean-a*x_mean
模型——直线
y_hat = a*x+b
绘图观察
plt.scatter(x,y)
plt.plot(x,y_hat)
plt.axis([0,6,0,6])
plt.show()
<