多项式回归(scikit learn),求根(Y=0)

2024-04-25 01:45:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我用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))

Tags: andtheforvaluenpvalscikit曲线