首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法适应GaussianNB - ModuleNotFoundError:没有名为'sklearn.utils._pprint‘的模块

无法适应GaussianNB - ModuleNotFoundError:没有名为'sklearn.utils._pprint‘的模块
EN

Stack Overflow用户
提问于 2019-09-10 16:11:44
回答 1查看 787关注 0票数 2

在尝试运行GaussianNB.fit方法时,我收到以下错误:

代码语言:javascript
复制
ModuleNotFoundError: No module named 'sklearn.utils._pprint'

我可以交叉验证:

代码语言:javascript
复制
cv_result = cross_val_score(GaussianNB(), X_train, y_train, cv=kfold, scoring=scoring,n_jobs=njobs)

但是,以下代码不起作用:

代码语言:javascript
复制
NB = GaussianNB()
NB.fit(X_train, y_train)

我目前使用的是Anaconda Jupyter笔记本电脑,并使用以下版本

代码语言:javascript
复制
jupyter-client==5.3.1
jupyter-console==6.0.0
jupyter-core==4.5.0

scikit-learn==0.21.3

你知道是什么导致了这个问题以及如何修复它吗?

EN

回答 1

Stack Overflow用户

发布于 2019-09-10 16:32:27

这个命令在scikit-learn版本0.21.3上运行得很好。您的ipython和相关模块很可能安装在与scikit-learn不同的环境中。您应该能够通过创建一个脚本并使用python执行它来测试这一点。如果这样做有效,但在ipython控制台或jupyter笔记本上运行不起作用,请尝试重新安装ipython、jupyter和scikit-learn with anaconda/pip。

具体地说,我认为您的错误是由于NB.fit返回self造成的。这使得jupyter notebook尝试通过__repr__方法显示NB对象,而该方法又依赖于sklearn.utils._pprint。一种快速的解决办法是改变

代码语言:javascript
复制
NB.fit(x,y)

代码语言:javascript
复制
NB = NB.fit(x,y)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57866569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档