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, …])
posted on 2018-06-01 16:30  Google-boy  阅读(2057)  评论(0编辑  收藏  举报