当计算类别准确度时,数组的维度为1,轴1超出了边界:AxisError

9
我尝试使用这段代码预测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

我已经训练数据,需要知道每个准确度。

1个回答

11

我猜你的test_data数组只有一维,所以请改为

y_true = np.argmax(testdata, axis=0)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接