web-dev-qa-db-ja.com

ModuleNotFoundError:「numpy.testing.nosetester」という名前のモジュールはありません

ディシジョンツリーを使用していて、このエラーが発生しました。逆伝播を使用したときにも同じ状況が発生しました。どうすれば解決できますか? (英語が下手でごめんなさい)

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)

トレースバック(最新の呼び出しが最後):
<module>のファイル "<ipython-input-40-4359c06ae1f0>"、1行目
runfile( 'C:/ProgramData/Anaconda3/lib/site-packages/scipy/_lib/_numpy_compat.py'、wdir = 'C:/ ProgramData/Anaconda3/lib/site-packages/scipy/_lib' )
ファイル「C:\ ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py」、710行目、ランファイル
execfile(ファイル名、名前空間)
ファイル「C:\ ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py」、行101、execfile
exec(コンパイル(f.read()、ファイル名、 'exec')、名前空間)
<モジュール>のファイル「C:/ProgramData/Anaconda3/lib/site-packages/scipy/_lib/_numpy_compat.py」、9行目
numpy.testing.nosetesterからimport import_nose

ModuleNotFoundError:「numpy.testing.nosetester」という名前のモジュールはありません

11
jiuseki

これは、numpyscipyのバージョンに互換性がないために発生します。 numpyの最新バージョンはnumpy.testing.nosetester

問題の再現

pip install numpy==1.18 # > 1.18
pip install scipy<=0.19.0 # <= 0.19 

そして

from sklearn.tree import DecisionTreeClassifier as DTC

エラーをトリガーします。

エラーを修正する

scipyを新しいバージョンにアップグレードします。

pip install numpy==1.18
pip install scipy==1.1.0
pip install scikit-learn==0.21.3

しかし、これに限定されません。上記のライブラリを最新の安定版にアップグレードすることにより、このエラーを取り除くことができるはずです。

17
thushv89

Lexnlpパッケージを使用しているときに同じエラーが発生しました。インストールして修正しました。

scipy==1.4.1
pandas==0.23.4    
numpy==1.18.1
lexnlp==0.2.7.1 

(プロジェクトで明示的に使用していて、何をしているのかわかっている場合にのみ、lexnlpをインストールしてください)

1
Prince Mathur

pipまたはpip3を使用してnumpyバージョン1.17.0をインストールしてみてください(pip3がすでにインストールされている場合)

pip3 install numpy==1.17.0

1

私はこれを解決しました:

pipアンインストールnumpy pipインストールnumpy == 1.17.0

そして使用:

from numpy.testing import rundocs
0