ModuleNotFoundError: Kein Modul mit dem Namen 'numpy.testing.nosetester'

11

Ich habe den Entscheidungsbaum verwendet und dieser Fehler wurde ausgelöst. Die gleiche Situation trat auf, als ich Back Propagation verwendete. Wie kann ich das lösen? (Tut mir leid für mein schlechtes Englisch)

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 (letzter Aufruf zuletzt):
  Datei "<ipython-input-40-4359c06ae1f0>", Zeile 1, in der
    Laufdatei <module> ('C: / ProgramData / Anaconda3 / lib / site-packages / scipy / _lib / _numpy_compat. py ', wdir =' C: / ProgramData / Anaconda3 / lib / site-packages / scipy / _lib ')
  Datei "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py", Zeile 710 in der Datei runfile
    execfile (Dateiname, Namespace)
  "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py", Zeile 101, in execfile
    exec (compile (f.read ()) ), Dateiname, 'exec'), Namespace)
  Datei "C: /ProgramData/Anaconda3/lib/site-packages/scipy/_lib/_numpy_compat.py", Zeile 9, in <Modul>
    aus numpy.testing.nosetester import import_nose

ModuleNotFoundError: Kein Modul mit dem Namen 'numpy.testing.nosetester'

Jiuseki
quelle
1
Welche Numpy- und Pandas-Versionen verwenden Sie?
Thushv89
Auch die sklearn-Version wird benötigt.
Thushv89

Antworten:

24

Dies geschieht aufgrund einer Versionsinkompatibilität zwischen numpyund scipy. numpyin seinen neuesten Versionen sind veraltet numpy.testing.nosetester.

Replizieren des Problems

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

und

from sklearn.tree import DecisionTreeClassifier as DTC

Löst den Fehler aus.

Behebung des Fehlers

Aktualisieren Sie Ihr scipyauf eine höhere Version.

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

Aber nicht darauf beschränkt. Wenn Sie die oben genannten Bibliotheken auf den neuesten Stall aktualisieren, sollten Sie diesen Fehler beheben können.

thushv89
quelle
2
Vielen Dank! Das war perfekt
lizziepika
2

Versuchen Sie, numpy Version 1.17.0 mit pip oder pip3 zu installieren (vorausgesetzt, Sie haben bereits pip3 installiert).

pip3 install numpy==1.17.0

Md.Habibur Rahman
quelle
2

Bei der Verwendung des Lexnlp-Pakets trat der gleiche Fehler auf. Durch die Installation wurde Folgendes behoben:

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

(Installieren Sie lexnlp nur, wenn Sie wissen, dass Sie es explizit in Ihrem Projekt verwenden und wissen, was Sie tun.)

Prinz Mathur
quelle
0

Ich habe das gelöst durch:

pip deinstallieren numpy pip install numpy == 1.17.0

und mit:

from numpy.testing import rundocs
Lawrence Patrick
quelle