今天学习了关于利用Python的Scipy库进行线性拟合的内容。主要使用了两个函数
一个是polyfit用于将输入的数据进行拟合,简单的调用方式如下
fp = polyfit(x, y, 1)
其中x,y分别代表输入的x轴数据和y轴数据, 1代表是回归的阶数, 这里传入1代表的是
线性回归,其拟合方程如下:
y = a * x + b
传入2的话,其拟合方程如:
y = a * x * x + b * x + c
以此类推
返回值fp代表的是回归的方程的系数,如果是线性回归的话,其值可能如下
[1, 2] 对应的回归方程为y = 1 * x + 2
函数polyfit是用于求解拟合参数的,为了方便利用拟合后的方程来对某个特定输入的因变量x求解相应的值y
scipy库提供了poly1d函数,可以将polyfit返回的模型转化为一个函数返回,调用方式如下
f = poly1d(fp)
predict_y = f(x)
下面是一段将数据做一维线性回归的代码
import scipy as sp
x = ...
y = ...
fp = sp.polyfit(x, y, 1)
f = sp.poly1d(fp)
print(f(10))