首页 > 解决方案 > AttributeError:模块“numpy”没有属性“testing”

问题描述

上周我能够在 Python 3.7.2 中运行程序就好了。

今天早上我进来,运行相同的程序并得到错误

AttributeError: module 'numpy' has no attribute 'testing'

我重新卸载并安装了 python 3.7.2

然后我做了pip3 install -U scikit-learn scipy matplotlib,运行了相同的程序,仍然得到这个错误。

整个早上都在谷歌上搜索,尝试不同的东西(当然,重启机器,检查路径)

请帮忙!!!!!!

代码(其他代码触发器也是如此)

# Assigning features and label variables

# First Feature
weather=['Sunny','Sunny','Overcast','Rainy','Rainy','Rainy','Overcast','Sunny','Sunny',
'Rainy','Sunny','Overcast','Overcast','Rainy']

# Second Feature
temp=['Hot','Hot','Hot','Mild','Cool','Cool','Cool','Mild','Cool','Mild','Mild','Mild','Hot','Mild']

# Label or target varible
play=['No','No','Yes','Yes','Yes','No','Yes','No','Yes','Yes','Yes','Yes','Yes','No']


# Import LabelEncoder

from sklearn import preprocessing

# creating labelEncoder

le = preprocessing.LabelEncoder()

# converting string labels into numbers

weather_encoded = le.fit_transform(weather)

print(weather_encoded)

# converting string labels into numbers

temp_encoded = le.fit_transform(temp)

label = le.fit_transform(play)

# combining weather and temp into a single list of tuples

features = list(zip(weather_encoded,temp_encoded))


from sklearn.neighbors import KNeighborsClassifier

model = KNeighborsClassifier(n_neighbors=3)

# Train the model using the training sets

model.fit(features, label)

# Predict Output

predicted = model.predict([[0,2]]) #0:Overcast, 2:Mild

print(predicted)

追溯

e:\ML>python knn.py
Traceback (most recent call last):
  File "knn.py", line 16, in <module>
    from sklearn import preprocessing
  File "C:\Python37-32\lib\site-packages\sklearn\__init__.py", line 64, in <module>
    from .base import clone
  File "C:\Python37-32\lib\site-packages\sklearn\base.py", line 11, in <module>
    import numpy as np
  File "C:\Python37-32\lib\site-packages\numpy\__init__.py", line 187, in <module>
    from .testing import Tester
  File "C:\Python37-32\lib\site-packages\numpy\testing\__init__.py", line 12, in <module>
    from ._private.utils import *
  File "C:\Python37-32\lib\site-packages\numpy\testing\_private\utils.py", line 16, in <module>
    from tempfile import mkdtemp, mkstemp
  File "C:\Python37-32\lib\tempfile.py", line 45, in <module>
    from random import Random as _Random
  File "e:\ML\random.py", line 4, in <module>
    from sklearn import datasets
  File "C:\Python37-32\lib\site-packages\sklearn\datasets\__init__.py", line 6, in <module>
    from .base import load_breast_cancer
  File "C:\Python37-32\lib\site-packages\sklearn\datasets\base.py", line 20, in <module>
    from ..utils import Bunch
  File "C:\Python37-32\lib\site-packages\sklearn\utils\__init__.py", line 10, in <module>
    from scipy.sparse import issparse
  File "C:\Python37-32\lib\site-packages\scipy\sparse\__init__.py", line 230, in <module>
    from .base import *
  File "C:\Python37-32\lib\site-packages\scipy\sparse\base.py", line 9, in <module>
    from scipy._lib._numpy_compat import broadcast_to
  File "C:\Python37-32\lib\site-packages\scipy\_lib\_numpy_compat.py", line 16, in <module>
    _assert_warns = np.testing.assert_warns
AttributeError: module 'numpy' has no attribute 'testing'

标签: pythonnumpyscikit-learn

解决方案


运行额外的导入代码,例如:

import np.testing as npt
npt.assert_array_almost_equal(answer1, answer2 )

推荐阅读