import pandas as pdimport numpy as npimport matplotlib.pyplot as pltdf = pd.read_excel('demo.xlsx')X = df['X']Y = df['Y']order = 1x = np.linspace(0,20,20)f = np.polyfit(X,Y,order)p = np.poly1d(f)plt.plot(X,Y,'ro',x,p(x),'-')plt.show()
举个例子:是一个二阶多项式回归。是一个三阶多项式回归......对于实际中较为复杂的数据,有时候二阶三阶的回归表达式没法很好地拟合数据,则可以选择更高阶的表达式进行拟合,如果选择的阶数很合适时,会有较好的拟合效果,如下图所示(基于Excel)。