首页 > 解决方案 > 多项式回归(scikit learn),求根(Y = 0)

问题描述

我使用 scikit 学习多项式回归来将 4 阶多项式拟合到某些数据。我有兴趣找到根,或者换句话说,当 y = 0 时曲线与 x 轴相交的点。当我查看 numpy 的多项式类时,我发现它们有一个称为根的函数来执行此操作。scikit learn 有类似的东西吗?

我已经编写了下面的代码,它检查从负到正的变化,给我一个当 y = 0 时曲线与 x 轴相交的大致位置。但我想找到是否有更好的方法。

#Equation for reference
YY4 = clf4.intercept_[0] + clf4.coef_[0][1] * XX + clf4.coef_[0][2]*np.power(XX,2) + clf4.coef_[0][3]*np.power(XX,3) + clf4.coef_[0][4]*np.power(XX,4)

def neutralState(Y): #Where Y takes the y-axis values 
for i in range(1,len(Y)):
    if (Y[i-1] < 0 and Y[i] > 0) or (Y[i-1] > 0 and Y[i] < 0): #ignore the very first value
        NS_val = (Y[i])
        NS_index = (i)
        return(NS_val,NS_index) #return the closest value to zero

print(neutralState(YY4))

标签: pythonscikit-learn

解决方案


推荐阅读