web-dev-qa-db-fra.com

ModuleNotFoundError: aucun module nommé 'numpy.testing.nosetester'

J'utilisais l'arbre de décision et cette erreur a été déclenchée. La même situation s'est produite lorsque j'ai utilisé Back Propagation. Comment puis-je le résoudre? (Désolé pour mon mauvais anglais)

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)

Traceback (dernier appel le plus récent):
Fichier "<ipython-input-40-4359c06ae1f0>", ligne 1, dans <module>
Runfile ('C: /ProgramData/Anaconda3/lib/site-packages/scipy/_lib/_numpy_compat.py', wdir = 'C:/ProgramData/Anaconda3/lib/site-packages/scipy/_lib' )
Fichier "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", ligne 710, dans runfile
Execfile (nom de fichier, espace de noms)
Fichier "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", ligne 101, dans execfile
Exec (compilation (f.read (), nom de fichier, 'exec'), espace de noms)
Fichier "C: /ProgramData/Anaconda3/lib/site-packages/scipy/_lib/_numpy_compat.py", ligne 9, dans <module>
De numpy.testing.nosetester import import_nose

ModuleNotFoundError: aucun module nommé 'numpy.testing.nosetester'

11
jiuseki

Cela se produit en raison d'une incompatibilité de version entre numpy et scipy. numpy dans ses dernières versions ont déprécié numpy.testing.nosetester.

Répliquer le problème

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

et

from sklearn.tree import DecisionTreeClassifier as DTC

Déclenche l'erreur.

Correction de l'erreur

Mettez à niveau votre scipy vers une version supérieure.

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

Mais ne se limite pas à cela. En mettant à niveau les bibliothèques ci-dessus vers la dernière version stable, vous devriez pouvoir vous débarrasser de cette erreur.

17
thushv89

J'étais confronté à la même erreur lors de l'utilisation du package lexnlp.

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

(N'installez lexnlp que si vous savez que vous l'utilisez explicitement dans votre projet et que vous savez ce que vous faites)

1
Prince Mathur

essayez d'installer numpy version 1.17.0 en utilisant pip ou pip3 (en supposant que vous avez déjà installé pip3)

pip3 install numpy==1.17.0

1
Md.Habibur Rahman

J'ai résolu cela en:

pip désinstaller numpy pip installer numpy == 1.17.0

et en utilisant:

from numpy.testing import rundocs
0
Lawrence Patrick