from sklearn.metrics import precision_score,recall_score
print (precision_score(y_true, y_scores,average='micro'))
average:string,[None,'binary'(默认),'micro','macro','samples','weighted']
该参数对于多类/多标签目标是必需的。如果
None
,返回每个班级的分数。否则,这将确定对数据执行的平均类型:
'binary'
:只报告指定的类的结果
pos_label
。这仅适用于targets(y_{true,pred}
)是二进制的。'micro'
:通过计算总真阳性数,假阴性数和假阳性数来计算全球指标。
'macro'
:计算每个标签的指标,并找到它们的未加权平均值。这不考虑标签不平衡。
'weighted'
:计算每个标签的度量标准,并根据支持度(每个标签的真实实例数量)查找它们的平均值。这改变了“宏观”来解决标签不平衡; 它可能会导致不在精度和召回之间的F分数。
'samples'
:计算每个实例的度量标准,并找到它们的平均值(对于不同于此的多标签分类仅有意义
accuracy_score
)。
sklearn.metrics模块实现了一些loss, score以及一些工具函数来计算分类性能。一些metrics可能需要正例、置信度、或二分决策值的的概率估计。大多数实现允许每个sample提供一个对整体score来说带权重的分布,通过sample_weight参数完成。
一些二分类(binary classification)使用的case:
- matthews_corrcoef(y_true, y_pred)
- precision_recall_curve(y_true, probas_pred)
- roc_curve(y_true, y_score[, pos_label, …])
一些多分类(multiclass)使用的case:
- confusion_matrix(y_true, y_pred[, labels])
- hinge_loss(y_true, pred_decision[, labels, …])
一些多标签(multilabel)的case:
- accuracy_score(y_true, y_pred[, normalize, …])
- classification_report(y_true, y_pred[, …])
- f1_score(y_true, y_pred[, labels, …])
- fbeta_score(y_true, y_pred, beta[, labels, …])
- hamming_loss(y_true, y_pred[, classes])
- jaccard_similarity_score(y_true, y_pred[, …])
- log_loss(y_true, y_pred[, eps, normalize, …])
- precision_recall_fscore_support(y_true, y_pred)
- precision_score(y_true, y_pred[, labels, …])
- recall_score(y_true, y_pred[, labels, …])
- zero_one_loss(y_true, y_pred[, normalize, …])
还有一些可以同时用于二标签和多标签(不是多分类)问题:
- average_precision_score(y_true, y_score[, …])
- roc_auc_score(y_true, y_score[, average, …])