ModuleNotFoundError: Żaden moduł o nazwie „numpy.testing.nosetester”

11

Korzystałem z drzewa decyzyjnego i ten błąd został zgłoszony. Ta sama sytuacja pojawiła się, gdy użyłem Back Propagation. Jak mogę to rozwiązać? (Przepraszam za mój słaby angielski)

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 (ostatnie ostatnie połączenie):
  Plik „<ipython-input-40-4359c06ae1f0>”, wiersz 1, w <module>
    pliku uruchomieniowym ('C: / ProgramData / Anaconda3 / lib / site-packages / scipy / _lib / _numpy_compat. py ', wdir =' C: / ProgramData / Anaconda3 / lib / site-packages / scipy / _lib ')
  Plik „C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py”, wiersz 710, w pliku
    wykonywalnym pliku run (nazwa pliku, przestrzeń nazw)
  Plik „C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py”, wiersz 101, w pliku wykonywalnym
    exec (kompilacja (f. czytaj ( ), nazwa pliku, „exec”), przestrzeń nazw)
  Plik „C: /ProgramData/Anaconda3/lib/site-packages/scipy/_lib/_numpy_compat.py”, wiersz 9, w <module>
    z numpy.testing.nosetester import import_nose

ModuleNotFoundError: Żaden moduł o nazwie „numpy.testing.nosetester”

jiuseki
źródło
1
Jakich wersji numpy i pand używasz?
thushv89,
Potrzebna jest również wersja sklearn.
thushv89,

Odpowiedzi:

24

Dzieje się tak z powodu niezgodności wersji między numpyi scipy. numpyw najnowszych wersjach są przestarzałe numpy.testing.nosetester.

Replikowanie problemu

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

i

from sklearn.tree import DecisionTreeClassifier as DTC

Wywołuje błąd.

Naprawianie błędu

Uaktualnij swoją scipydo wyższej wersji.

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

Ale nie tylko. Aktualizując powyższe biblioteki do najnowszej stabilnej wersji, powinieneś być w stanie pozbyć się tego błędu.

thushv89
źródło
2
Dziękuję Ci! To było idealne
lizziepika
2

spróbuj zainstalować wersję numpy 1.17.0 za pomocą pip lub pip3 (zakładając, że już zainstalowałeś pip3)

pip3 install numpy==1.17.0
Md.Habibur Rahman
źródło
2

Napotkałem ten sam błąd podczas korzystania z pakietu lexnlp. Naprawiono to, instalując:

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

(Zainstaluj lexnlp tylko, jeśli wiesz, że używasz go jawnie w swoim projekcie i wiesz, co robisz)

Książę Mathur
źródło
0

Rozwiązałem to przez:

pip odinstaluj numpy pip zainstaluj numpy == 1.17.0

i używając:

from numpy.testing import rundocs
Lawrence Patrick
źródło