ModuleNotFoundError:没有名为“numpy.testing.nosetester”的模块

jiu*_*eki 37 python numpy machine-learning nose importerror

我正在使用决策树并引发了此错误。当我使用反向传播时,出现了同样的情况。我该如何解决?

import pandas as pd
import numpy as np
a = np.test()
f = open('E:/lgdata.csv')
data = pd.read_csv(f,index_col = 'id')

x = data.iloc[:,10:12].as_matrix().astype(int)
y = data.iloc[:,9].as_matrix().astype(int)

from sklearn.tree import DecisionTreeClassifier as DTC
dtc = DTC(criterion='entropy')
dtc.fit(x,y)
x=pd.DataFrame(x) 

from sklearn.tree import export_graphviz
with open('tree.dot','w') as f1:
    f1 = export_graphviz(dtc, feature_names = x.columns, out_file = f1)
Run Code Online (Sandbox Code Playgroud)

回溯(最近一次调用):
??File "<ipython-input-40-4359c06ae1f0>", line 1, in <module>
????runfile('C:/ProgramData/Anaconda3/lib/site-packages/ scipy/_lib/_numpy_compat.py', wdir='C:/ProgramData/Anaconda3/lib/site-packages/scipy/_lib')
??File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils \site\sitecustomize.py", line 710, in runfile
????execfile(filename, namespace)
??File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py" ,第 101 行,在 execfile
????exec(compile(f.read(), filename, 'exec'), namespace)
??File "C:/ProgramData/Anaconda3/lib/site-packages/scipy/_lib/ _numpy_compat.py”,第 9 行,在 <module> 中
????来自 numpy.testing。nosetester 导入 import_nose

ModuleNotFoundError:没有名为“numpy.testing.nosetester”的模块

thu*_*v89 58

这是由于numpy和之间的版本不兼容而发生的scipynumpy在其最新版本中已弃用numpy.testing.nosetester

复制问题

pip install numpy==1.18 # > 1.18
pip install scipy<=0.19.0 # <= 0.19 
Run Code Online (Sandbox Code Playgroud)

from sklearn.tree import DecisionTreeClassifier as DTC
Run Code Online (Sandbox Code Playgroud)

触发错误。

修复错误

将您升级scipy到更高版本。

pip install numpy==1.18
pip install scipy==1.1.0
pip install scikit-learn==0.21.3
Run Code Online (Sandbox Code Playgroud)

但不限于此。通过将上述库升级到最新的稳定版,您应该能够摆脱这个错误。


小智 8

我需要升级 scipy

pip3 install -U scipy


小智 6

我在使用 lexnlp 包时遇到了同样的错误通过安装修复了它:

scipy==1.4.1
pandas==0.23.4    
numpy==1.18.1
lexnlp==0.2.7.1 
Run Code Online (Sandbox Code Playgroud)

(仅当知道您在项目中明确使用 lexnlp 并且您知道自己在做什么时才安装 lexnlp)


小智 5

我通过以下方式解决了这个问题:

pip uninstall numpy
pip install numpy == 1.17.0
Run Code Online (Sandbox Code Playgroud)

并使用:

from numpy.testing import rundocs
Run Code Online (Sandbox Code Playgroud)