sklearn.metrics中的评估方法

主要是针对多分类的问题不太了解。
用的最多的还是PRF1
以R为例:
recall_score

klearn.metrics.recall_score(y_true, y_pred,
 labels=None, pos_label=1,
 average='binary',
  sample_weight=None)

参数average : string, [None, ‘micro’, ‘macro’(default), ‘samples’, ‘weighted’]
二分类问题拓展到多分类问题时候,主要是参数average变化:

macro:(应该是计算多个二分类的R然后求平均)
计算二分类metrics的均值,为每个类给出相同权重的分值。当小类很重要时会出问题,因为该macro-averging方法是对性能的平均。另一方面,该方法假设所有分类都是一样重要的,因此macro-averaging方法会对小类的性能影响很大。

weighted:(应该是计算多个二分类的R然后,按数量分布求加权平均)
对于不均衡数量的类来说,计算二分类metrics的平均,通过在每个类的score上进行加权实现。

micro:这个不太懂呢
给出了每个样本类以及它对整个metrics的贡献的pair(sample-weight),而非对整个类的metrics求和,它会每个类的metrics上的权重及因子进行求和,来计算整个份额。Micro-averaging方法在多标签(multilabel)问题中设置,包含多分类,此时,大类将被忽略。

samples:不懂
应用在multilabel问题上。它不会计算每个类,相反,它会在评估数据中,通过计算真实类和预测类的差异的metrics,来求平均(sample_weight-weighted)

我现在应该先用macro就可以
后面几类要完全搞懂还要看
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.recall_score.html
https://scikit-learn.org/stable/

有时间搞懂了再补充~

猜你喜欢

转载自blog.csdn.net/k411797905/article/details/93325006
今日推荐