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事實并非如此),這一點尤其重要。
添加回答
舉報