sklearn(四)计算recall:使用metrics.recall_score()计算多分类的召回率

写在前面:

sklearn(三)计算recall:使用metrics.recall_score()计算二分类的召回率


1.sklearn.metrics.recall_score()的使用方法

使用方式:

sklearn.metrics.recall_score(y_true, y_pred, *, labels=None, pos_label=1, average='binary', 
sample_weight=None, zero_division='warn')

输入参数:

y_true:真实标签。

y_pred:预测标签。

labels:可选参数,是一个list。可以排除数据中出现的标签,比如负类别比较多时,去除负类。

pos_label:字符串或者int类型,默认值是1。多分类情况下:

  • 如果计算整体的 recall,可忽略该参数
  • 如果labels=[pos_label] 并且average != 'binary',则返回该类别的recall

average:字符串类型,取值为 [None, ‘binary’ (default), ‘micro’, ‘macro’, ‘samples’, ‘weighted’]。多分类必须的参数,如果为None,则返回每一类的recall,否则,根据其参数返回整体的召回率。

'macro':用于多分类,只有两个属性可以选择 ‘macro’ 和 ‘weighted’ 。' macro ':计算每个标签的指标,并计算它们的未加权平均值。不考虑样本类别是否平衡。' weighted ':计算每个标签的指标,并找到它们的平均值,对(每个标签的真实实例的数量)进行加权。

'micro':

整体计算TP、FN、FP,然后根据公式计算得分。

'macro':

计算每个标签的指标,并计算它们的未加权平均值。不考虑样本类别是否平衡。

'weighted':

计算每个标签的指标,并找到它们的平均值,对(每个标签的真实实例的数量)进行加权。This alters ‘macro’ to account for label imbalance; it can result in an F-score that is not between precision and recall.

'samples': (没用它)

sample_weight:(没用它)

zero_division:(没用它)

输出:

正样本召回率,浮点型。

2.例子

此处需要一个混淆矩阵的手算例子,后续补充ing

 

demo:

 

 

 

 

你可能感兴趣的:(评价指标,机器学习)