公司注册网站怎么做,网站建设推广工作描述,东莞网站建设网络推广,博文阅读网站建设Micro-F1 分数是用于多标签#xff08;multi-label#xff09;或多类#xff08;multi-class#xff09;分类评估的重要指标#xff0c;特别适用于样本不均衡时评估整体性能。它在**多选任务#xff08;multi-label classification#xff09;**中尤为常用。 #x1f9…Micro-F1 分数是用于多标签multi-label或多类multi-class分类评估的重要指标特别适用于样本不均衡时评估整体性能。它在**多选任务multi-label classification**中尤为常用。 一、Micro-F1 的定义
Micro-F1 是基于所有标签的 全局预测统计量计算出的 F1 值 Micro-F1 2 ⋅ TP total 2 ⋅ TP total FP total FN total \text{Micro-F1} \frac{2 \cdot \text{TP}_{\text{total}}}{2 \cdot \text{TP}_{\text{total}} \text{FP}_{\text{total}} \text{FN}_{\text{total}}} Micro-F12⋅TPtotalFPtotalFNtotal2⋅TPtotal
它先将所有标签的 TPTrue Positive、FPFalse Positive、FNFalse Negative加总再计算 F1 分数。 ✅ 二、应用场景多选
多选任务通常表现为多标签分类问题例如
y_true [[1, 0, 1, 0], # 样本1标签0和2是正例[0, 1, 1, 1], # 样本2标签1、2、3是正例
]y_pred [[1, 0, 1, 1], # 样本1预测对了0和2多选了3[0, 0, 1, 1], # 样本2预测对了2、3漏了1
]三、如何计算 Micro-F1Python 示例
使用 sklearn.metrics.f1_score 设置 averagemicro
from sklearn.metrics import f1_scorey_true [[1, 0, 1, 0],[0, 1, 1, 1],
]y_pred [[1, 0, 1, 1],[0, 0, 1, 1],
]# 计算 micro-F1
micro_f1 f1_score(y_true, y_pred, averagemicro)
print(fMicro-F1 分数: {micro_f1:.4f})四、Micro vs Macro vs Weighted F1
评估方式含义适用场景Micro-F1全局统计 TP/FP/FN 后求 F1标签不平衡时最稳定Macro-F1每个标签分别计算 F1再平均看每个类是否表现一致Weighted-F1Macro-F1 加权平均按样本数类别不均衡但关心主类 五、注意事项
Micro-F1 与 Accuracy 的数值在多标签任务中差异较大因为 Accuracy 需要 标签完全匹配而 Micro-F1 允许部分匹配。如果你用的模型返回了 logits 或概率如 [0.8, 0.1, 0.9, 0.3]要先进行阈值处理如 0.5再转成 0/1 标签才能评估
import numpy as np# 假设模型输出为概率
y_prob np.array([[0.8, 0.1, 0.9, 0.3],[0.2, 0.7, 0.95, 0.6],
])
y_pred (y_prob 0.5).astype(int)如果你可以提供模型的预测结果多标签格式和真实标签我可以帮你计算 Micro-F1、Macro-F1、准确率等指标。是否需要我帮你计算一下