ModuleNotFoundError: nenhum módulo chamado 'numpy.testing.nosetester'

11

Eu estava usando a Árvore de Decisão e esse erro foi gerado. A mesma situação apareceu quando usei a Propagação Traseira. Como posso resolver isso? (Desculpe pelo meu inglês ruim)

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 (última chamada mais recente):
  arquivo "<ipython-input-40-4359c06ae1f0>", linha 1, no <module>
    runfile ('C: / ProgramData / Anaconda3 / lib / site-packages / scipy / _lib / _numpy_compat. py ', wdir =' C: / ProgramData / Anaconda3 / lib / pacotes-site / scipy / _lib ')
  Arquivo "C: \ ProgramData \ Anaconda3 \ lib \ pacotes-site \ spyder \ utils \ site \ sitecustomize.py", linha 710, no
    arquivo de execução execfile (nome do arquivo, espaço para nome)
  Arquivo "C: \ ProgramData \ Anaconda3 \ lib \ pacotes de sites \ spyder \ utils \ site \ sitecustomize.py", linha 101, no execfile
    exec (compile (f.read ( ), filename, 'exec'), namespace)
  Arquivo "C: /ProgramData/Anaconda3/lib/site-packages/scipy/_lib/_numpy_compat.py", linha 9, em <module>
    de numpy.testing.nosetester import import_nose

ModuleNotFoundError: nenhum módulo chamado 'numpy.testing.nosetester'

jiuseki
fonte
11
Quais versões de numpy e pandas você está usando?
thushv89
Também é necessária a versão sklearn.
thushv89

Respostas:

24

Isso está acontecendo devido a uma incompatibilidade de versão entre numpye scipy. numpyem suas versões mais recentes foram descontinuadas numpy.testing.nosetester.

Replicando o problema

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

e

from sklearn.tree import DecisionTreeClassifier as DTC

Dispara o erro.

Corrigindo o erro

Atualize seu scipypara uma versão superior.

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

Mas não limitado a isso. Ao atualizar as bibliotecas acima para o estábulo mais recente, você poderá se livrar desse erro.

thushv89
fonte
2
Obrigado! Isso foi perfeito
lizziepika 28/01
2

tente instalar a versão numpy 1.17.0 usando pip ou pip3 (assumindo que você já instalou o pip3)

pip3 install numpy==1.17.0
Md.Habibur Rahman
fonte
2

Eu estava enfrentando o mesmo erro ao usar o pacote lexnlp Foi corrigido instalando:

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

(Instale apenas o lexnlp se souber que você o está usando explicitamente em seu projeto e você souber o que está fazendo)

Prince Mathur
fonte
0

Eu resolvi isso por:

pip desinstalar numpy pip instalar numpy == 1.17.0

e usando:

from numpy.testing import rundocs
Lawrence Patrick
fonte