如何从多项式拟合线性回归模型的给定Y值预测X值?

时间:2020-08-17 07:10:39

标签: python machine-learning scikit-learn regression non-linear-regression

在拟合了 简单线性回归模型 之后,我使用了以下公式:“ y = mx + c”查找给定'y'的'x'值的价值。显然,通过拟合模型,我得到了'm'和'c'的值。

model = LinearRegression(fit_intercept=True)
model.fit(X,Y)
print('intercept:', model.intercept_)
print('slope:', model.coef_)
intercept: 1.133562363647583
slope: [-0.00075101]
#finding 'x' val for y=1 : x=(y-c)/m
x=(1-model.intercept_)/model.coef_[0] 

现在,我认为Linear表现不好,并发现 3阶多项式拟合 提供了最佳结果(此处不包括图表)。现在,如何根据下面的代码片段预测给定“ y”值的“ x”值:

from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree = 3) 
X_poly = poly.fit_transform(X) 
  
poly.fit(X_poly, Y) 
model2 = LinearRegression(fit_intercept=True) 
model2.fit(X_poly, Y)

print('intercept:', model2.intercept_)
print('slope:', model2.coef_)
intercept: 1.461870542630406
slope: [ 0.00000000e+00 -1.12408245e-02  9.69531205e-05 -2.72315461e-07]

1 个答案:

答案 0 :(得分:0)

尝试

p = [slope, intercept - y]

x = numpy.roots(p)