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


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

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


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


2

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

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

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


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.