'numpy.int64' 类型的 TypeError 对象在预测模型时没有 len()

TypeError object of type 'numpy.int64' has no len() when working for prediction a model

我正在努力预测结果。但是我遇到了一个错误。我的完整代码在下面,我也放了一个截图。

from sklearn.preprocessing import LabelBinarizer
from sklearn.metrics import classification_report

bb = LabelBinarizer()

train_y = bb.fit_transform(train_y)
test_y = bb.transform(test_y)

predictions = model.predict(test_x, batch_size=32)
print(classification_report(test_y.argmax(axis=1), predictions.argmax(axis=1), target_names = bb.classes_))

错误:类型错误:'numpy.int64' 类型的对象没有 len()

您的 class 名称必须是字符串。我建议(暂时)将最后一行更改为:

class_names = ['Class '+str(i) for i in bb.classes_]
print(classification_report(test_y.argmax(axis=1), predictions.argmax(axis=1), target_names = class_names))