如何将多项式回归线拟合到数据

#plotting values 
x_max = np.max(X) + 100
x_min = np.min(X) - 100#calculating line values of x and y
x = np.linspace(x_min,x_max,1000)
y = b0 + b1 * x #plotting line 
plt.plot(x,y,color='#00ff00',label='Linear Regression')#plot the data point
plt.scatter(X,Y,color='#ff0000',label='Data Point')# x-axis label
plt.xlabel('Time')#y-axis label
plt.ylabel('Signal Strength MHz')
plt.legend()
plt.show()

我无法将多项式回归线拟合到数据中。

coefs = np.polyfit(X,4)
x_new = np.linspace(X[0],X[-1],num=len(X)*10)
ffit = poly.polyval(x_new,coefs)
plt.plot(x_new,ffit,label = 'Polynomial Regression')
plt.scatter(X,label='Data Point')# x-axis label
plt.xlabel('Time')#y-axis label
plt.ylabel('Signal Strength MHz')
plt.show()

如何将多项式回归线拟合到数据

如何将多项式回归线拟合到数据

ani66cn 回答:如何将多项式回归线拟合到数据

您已切换了多项式系数和x值的顺序。根据{{​​3}},第一个参数是多项式系数:

  

numpy.polyval(p,x)

     

参数:

     

p:类array或poly1d对象   一维多项式系数数组(包括等于零的系数)

     

x:类array或poly1d对象   一个用于计算p的数字,数字数组或poly1d实例。

更改以下行

ffit = poly.polyval(x_new,coefs)

ffit = poly.polyval(coefs,x_new)

编辑:

或者,尝试以下操作

coefs = np.polyfit(X,Y,4)
x_new = np.linspace(X[0],X[-1],num=len(X)*10)
ffit = np.poly1d(coefs)
plt.plot(x_new,ffit(x_new),label = 'Polynomial Regression')
本文链接:https://www.f2er.com/3048901.html

大家都在问