简单线性回归可以拟合线性关系的数据,一般使用一次函数或二次函数即可。
import numpy as np
import matplotlib.pyplot as plt
x=np.array([1,2,3,4,5,6,7,8,9,10])
y=np.array([2.5,4.5,4.8,5.5,6.0,7.0,7.8,8.0,9.0,10.0])
#一次拟合函数
slope,intercept=np.polyfit(x,y,1)
#二次拟合函数
a,b,c=np.polyfit(x,y,2)
lab1="%+fx%+f"%(slope,intercept)
lab2="%+fx^2%+fx%+f"%(a,b,c)
#散点
plt.scatter(x,y,color='g')
#一次函数图
plt.plot(x,slope*x+intercept,color='r',label=lab1)
#二次函数图
plt.plot(x,a*x*x+b*x+c,color='b',label=lab2)
plt.legend()
plt.show()
效果图