macro-average是每个类有相同的权重,precision、recall或f1_score,先求和再除以类别的个数。跟样本的个数没有关系。
micro-average:
每个样本有相同的权重。
macro与micro的区别:
- 如果各个类别的样本个数相差不的话,macro-average与micro-average相差不大
- 如果不同类型样本个数不均衡时,比如有一个类型的样本数据特别多,占到80%以上。如果更注重这个大类的话用micro-averge。如果注重小类别的话用macro-average。
使用方法:
from sklearn.metrics import precision_score, recall_score, f1_score
p = precision_score(y_true, y_pred, averge='macro')
r = recall_score(y_true, y_pred, average='micro')