簡體   English   中英

無法與GaussianNB配合-ModuleNotFoundError:沒有名為“ sklearn.utils._pprint”的模塊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM