[英]ModuleNotFoundError: No Module named 'sklearn.utils._testing'
[英]unable to fit with GaussianNB - ModuleNotFoundError: No module named 'sklearn.utils._pprint'
嘗試運行GaussianNB
的.fit
方法時,出現以下錯誤:
ModuleNotFoundError: No module named 'sklearn.utils._pprint'
我能夠交叉驗證:
cv_result = cross_val_score(GaussianNB(), X_train, y_train, cv=kfold, scoring=scoring,n_jobs=njobs)
但是以下方法不起作用:
NB = GaussianNB()
NB.fit(X_train, y_train)
我目前在Anaconda Jupyter筆記本上,並使用以下版本
jupyter-client==5.3.1
jupyter-console==6.0.0
jupyter-core==4.5.0
scikit-learn==0.21.3
關於導致此問題的原因以及如何解決的任何想法?
對於我來說,該命令在scikit-learn 0.21.3版本上運行良好。 您的ipython和相關模塊可能安裝在與scikit-learn不同的環境中。 您應該能夠通過編寫腳本並使用python執行測試來進行測試。 如果可以,但不能在ipython控制台或jupyter筆記本中運行,請嘗試使用anaconda / pip重新安裝ipython,jupyter和scikit-learn。
具體來說,我相信您的錯誤是由於NB.fit
返回self
。 這使jupyter筆記本嘗試通過__repr__
方法顯示NB
對象,而該方法又依賴於sklearn.utils._pprint
。 一個快速的解決辦法是改變
NB.fit(x,y)
至
NB = NB.fit(x,y)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.