python - 多项式回归(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))
解决方案
推荐阅读
- javascript - 如何在 Vue 兄弟组件之间传递值,而不使用“参数”?
- javascript - 生成随机 Firebase 身份验证 UID 以从 Firestore 查询随机用户文档?
- python - 我需要解开这个小谜题。它有描述 pyphp64
- c# - Inno Setup 以字符串为参数调用 DLL
- java - Eclipse java - 不同源文件夹的不同代码模板
- typescript - Vue 道具初始化/变异
- wordpress - 未登录时自定义帖子类型 404 错误
- python - PyCharm 不会导入 PyGame
- regex - 正则表达式删除空格并替换换行符
- c++ - C++ 凸包 jarvis March 算法实现中的错误?