1 回答

TA贡献1806条经验 获得超5个赞
根据scikit-learn 文档 average_precision_score无法处理多类分类。
相反,您可以precision_score像这样使用:
# Decision tree
...
y_pred = decision.predict(testX)
y_score = decision.score(testX, testY)
print('Accuracy: ', y_score)
# Compute the average precision score
from sklearn.metrics import precision_score
micro_precision = precision_score(y_pred, testY, average='micro')
print('Micro-averaged precision score: {0:0.2f}'.format(
micro_precision))
macro_precision = precision_score(y_pred, testY, average='macro')
print('Macro-averaged precision score: {0:0.2f}'.format(
macro_precision))
per_class_precision = precision_score(y_pred, testY, average=None)
print('Per-class precision score:', per_class_precision)
请注意,您需要指定如何平均分数。如果您的数据集显示标签不平衡(iris事实并非如此),这一点尤其重要。
添加回答
举报