首页 > 解决方案 > AxisError:计算类的准确性时,轴 1 超出维度 1 数组的范围

问题描述

我尝试使用此代码预测 10 个类

#Predicting the Test set rules
y_pred = model.predict(traindata)
y_pred = np.argmax(y_pred, axis=1) 
y_true = np.argmax(testdata, axis=1) 

target_names = ["akLembut","akMundur","akTajam","caMenaik", "caMenurun", "coretanTengah", "garisAtas", "garisBawah", "garisBawahBanyak", "ttdCangkang"]
print("\n"+ classification_report(y_true, y_pred, target_names=target_names))

但后来我收到这样的错误消息

AxisError                                 Traceback (most recent call last)
<ipython-input-13-a2b02b251547> in <module>()
      2 y_pred = model.predict(traindata)
      3 y_pred = np.argmax(y_pred, axis=1)
----> 4 y_true = np.argmax(testdata, axis=1)
      5 
      6 target_names = ["akLembut","akMundur","akTajam","caMenaik", "caMenurun", "coretanTengah", "garisAtas", "garisBawah", "garisBawahBanyak", "ttdCangkang"]

<__array_function__ internals> in argmax(*args, **kwargs)

2 frames
/usr/local/lib/python3.6/dist-packages/numpy/core/fromnumeric.py in _wrapit(obj, method, *args, **kwds)
     45     except AttributeError:
     46         wrap = None
---> 47     result = getattr(asarray(obj), method)(*args, **kwds)
     48     if wrap:
     49         if not isinstance(result, mu.ndarray):

AxisError: axis 1 is out of bounds for array of dimension 1

我已经对数据进行了训练,我需要知道每个准确性。

标签: pythonpython-3.xtensorflow

解决方案


我的猜测是您的test_data数组只是一维的,因此更改为y_true = np.argmax(testdata, axis=0).


推荐阅读