ModuleNotFoundError: ningún módulo llamado 'numpy.testing.nosetester'

11

Estaba usando el Árbol de decisión y se generó este error. La misma situación apareció cuando usé Back Propagation. ¿Cómo puedo resolverlo? (Disculpa mi pobre ingles)

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)

Rastreo (última llamada más reciente):
  archivo "<ipython-input-40-4359c06ae1f0>", línea 1, en <module>
    runfile ('C: / ProgramData / Anaconda3 / lib / site-packages / scipy / _lib / _numpy_compat. py ', wdir =' C: / ProgramData / Anaconda3 / lib / site-packages / scipy / _lib ')
  Archivo "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py", línea 710, en archivo de ejecución
    execfile (nombre de archivo, espacio de nombres)
  Archivo "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py", línea 101, en execfile
    exec (compile (f.read ( ), nombre de archivo, 'exec'), espacio de nombres)
  Archivo "C: /ProgramData/Anaconda3/lib/site-packages/scipy/_lib/_numpy_compat.py", línea 9, en <module>
    de numpy.testing.nosetester import import_nose

ModuleNotFoundError: ningún módulo llamado 'numpy.testing.nosetester'

jiuseki
fuente
1
¿Qué versiones numpy y pandas estás usando?
thushv89
También se necesita la versión sklearn.
thushv89

Respuestas:

24

Esto está sucediendo debido a una incompatibilidad de versión entre numpyy scipy. numpyen sus últimas versiones han quedado en desuso numpy.testing.nosetester.

Replicando el problema

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

y

from sklearn.tree import DecisionTreeClassifier as DTC

Activa el error.

Arreglando el error

Actualiza tu scipya una versión superior.

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

Pero no se limita a esto. Al actualizar las bibliotecas anteriores a la última versión estable, debería poder deshacerse de este error.

thushv89
fuente
2
¡Gracias! Esto fue perfecto
lizziepika
2

intente instalar numpy versión 1.17.0 usando pip o pip3 (suponiendo que ya haya instalado pip3)

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

Estaba enfrentando el mismo error al usar el paquete lexnlp Lo solucioné instalando:

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

(Solo instale lexnlp si sabe que lo está utilizando explícitamente en su proyecto y sabe lo que está haciendo)

Príncipe Mathur
fuente
0

Resolví esto por:

pip desinstalar numpy pip install numpy == 1.17.0

y usando:

from numpy.testing import rundocs
Lawrence Patrick
fuente