要按类别计算精确率和召回率,首先需要有一个分类器模型,并且有对应的标签。以下是一个示例解决方法,使用Python的scikit-learn库来计算精确率和召回率:
from sklearn.metrics import precision_score, recall_score
# 假设有一个分类器模型的预测结果和对应的真实标签
predicted_labels = [0, 1, 1, 0, 1, 0]
true_labels = [0, 0, 1, 0, 1, 1]
# 计算精确率
precision = precision_score(true_labels, predicted_labels, average=None)
print("Precision:", precision)
# 计算召回率
recall = recall_score(true_labels, predicted_labels, average=None)
print("Recall:", recall)
上面的代码示例中,predicted_labels
是分类器模型的预测结果,true_labels
是对应的真实标签。通过调用precision_score
和recall_score
函数,分别计算了每个类别的精确率和召回率。average=None
参数指定了不进行平均操作,返回每个类别的单独精确率和召回率。
输出结果类似于:
Precision: [0.66666667 0.66666667]
Recall: [0.66666667 0.66666667]
其中,Precision: [0.66666667 0.66666667]
表示第一个类别的精确率为0.67,第二个类别的精确率也为0.67;Recall: [0.66666667 0.66666667]
表示第一个类别的召回率为0.67,第二个类别的召回率也为0.67。
上一篇:按类别计算非空值的数量
下一篇:按类别计算数组子总计