ModuleNotFoundError: нет модуля с именем numpy.testing.nosetester

11

Я использовал дерево решений, и эта ошибка возникла. Та же самая ситуация появилась, когда я использовал Обратное распространение. Как я могу решить это? (Извините за мой плохой английский)

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)

Трассировка (последний вызов был последним):
  файл "<ipython-input-40-4359c06ae1f0>", строка 1, в
    исполняемом файле <module> ('C: / ProgramData / Anaconda3 / lib / site-packages / scipy / _lib / _numpy_compat. py ', wdir =' C: / ProgramData / Anaconda3 / lib / site-packages / scipy / _lib ')
  Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py", строка 710, в исполняемом файле
    execfile (имя файла, пространство имен)
  Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py", строка 101, в исполняемом файле
    exec (compile (f.read ( ), имя файла, 'exec'), пространство имен)
  Файл "C: /ProgramData/Anaconda3/lib/site-packages/scipy/_lib/_numpy_compat.py", строка 9, в <module>
    из numpy.testing.nosetester import import_nose

ModuleNotFoundError: нет модуля с именем numpy.testing.nosetester

jiuseki
источник
1
Какие версии для numpy и pandas вы используете?
thushv89
Также необходима версия sklearn.
thushv89

Ответы:

24

Это происходит из-за несовместимости версий numpyи scipy. numpyв его последних версиях устарела numpy.testing.nosetester.

Тиражирование вопроса

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

а также

from sklearn.tree import DecisionTreeClassifier as DTC

Вызывает ошибку.

Исправление ошибки

Обновите свою scipyверсию до более высокой.

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

Но не ограничиваясь этим. Обновив вышеуказанные библиотеки до последней стабильной версии, вы сможете избавиться от этой ошибки.

thushv89
источник
2
Спасибо! Это было прекрасно
lizziepika
2

попробуйте установить версию numpy 1.17.0 с помощью pip или pip3 (если вы уже установили pip3)

pip3 install numpy==1.17.0

Г-н Хабибур Рахман
источник
2

Я столкнулся с той же ошибкой при использовании пакета lexnlp. Исправил, установив:

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

(Устанавливайте lexnlp только в том случае, если знаете, что явно используете его в своем проекте и знаете, что делаете)

Принц Матур
источник
0

Я решил это путем:

pip uninstall numpy pip install numpy == 1.17.0

и используя:

from numpy.testing import rundocs
Лоуренс Патрик
источник