机器学习之AUC、AUPRC、F1等评价指标的含义

本文详细解读了AUC=0.506031的模型表现,解释了AUC、AUPRC、F1分数和IoU在评估分类器性能中的作用。AUC与ROC曲线的关系,以及它们如何指示模型区分能力。F1分数强调精度与召回率平衡,而IoU则用于衡量对象检测的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AUC = 0.506031

AUC(area under the curve)是模型评估指标,特别是二分类模型使用的主要离线评测指标之一。

参考博客,AUC值是ROC曲线与x轴围成的面积。AUC的来源路线:混淆矩阵--ROC曲线--AUC

1.混淆矩阵(二分类)
在这里插入图片描述
T P R ( 真 正 例 概 率 ) = T P T P + F N TPR(真正例概率)={ \frac {TP} {TP+FN}} TPR()=TP+FNTP
F P R ( 假 正 例 概 率 ) = F P F P + T N FPR(假正例概率)={ \frac {FP} {FP+TN}} FPR()=FP+TNFP

当阈值(区分类别1,0的值)从1到0慢慢移动,产生很多对 (FPR,TPR)。以FPR为x轴,TFR为y轴的曲线就是ROC曲线,而AUC就是ROC曲线和x轴围成的面积。

在这里插入图片描述
AUC的值表示y=1和y=0的距离,也就是AUC越大,两个数据隔得越开,分类的准确率越大。我的AUC=0.506031,预测的准确率只有50%左右。
在这里插入图片描述
分类器选取阈值不同,分类的结果也会受到影响。使用AUC的话,考虑到了阈值变动,所以评估的效果更好。

AUPRC = 0.616219

PRC曲线是准确率和召回率的点连成的线。AUPRC=PRC曲线和x轴围成的面积。同AUC相同可以作为选取合适阈值的方法。
在这里插入图片描述

Best F1 = 0.780822

F1是分类问题的一个衡量指标。表示准确率(precision)和召回率(recall)的平均数。
F 1 = 2. p r e c i s i o n . r e c a l l p r e c i s i o n + r e c a l l F_1=2.{ \frac {precision.recall} {precision+recall}} F1=2.precision+recallprecision.recall

IoU = 0.216904

IoU=预测框和真实框的交并比:
I o U = ∣ A ⋂ B ∣ ∣ A ⋃ B ∣ IoU={ \frac {|A \bigcap B|} {|A\bigcup B|}} IoU=ABAB
在这里插入图片描述

03-15
### Area Under Precision-Recall Curve (AUPRC) #### 定义 Area Under Precision-Recall Curve (AUPRC) 是一种用于评估二分类模型性能的指标,它表示 Precision-Recall 曲线下的面积。该曲线通过绘制不同阈值下的一系列精度(Precision)和召回率(Recall)点来反映模型的表现。 #### 计算方法 AUPRC 的计算基于 Precision 和 Recall 值的变化关系。具体来说: 1. **获取多个阈值下的 Precision 和 Recall** 对于不同的决策阈值 \( t \),可以计算出相应的 Precision 和 Recall 值: \[ \text{Precision} = \frac{\text{True Positives}}{\text{True Positives} + \text{False Positives}} \] \[ \text{Recall} = \frac{\text{True Positives}}{\text{True Positives} + \text{False Negatives}} \] 2. **构建 P-R 曲线** 将上述每一对 \( (\text{Recall}, \text{Precision}) \) 绘制成一条曲线。 3. **计算曲线下面积** 使用数值积分法(如梯形法则),估算 Precision-Recall 曲线下的面积。假设我们有若干个有序的 \( (\text{Recall}_i, \text{Precision}_i) \) 点,则可以通过以下公式近似计算 AUPRC: \[ \text{AUPRC} = \sum_{i=1}^{n-1} \left( \text{Recall}_{i+1} - \text{Recall}_i \right) \cdot \frac{\text{Precision}_{i+1} + \text{Precision}_i}{2} \] 这里每一项对应的是相邻两点间形成的梯形面积[^1]。 #### Python 实现示例 以下是利用 `scikit-learn` 库实现 AUPRC 的代码片段: ```python from sklearn.metrics import precision_recall_curve, auc import numpy as np # 示例真实标签和预测概率 y_true = np.array([0, 0, 1, 1]) y_scores = np.array([0.1, 0.4, 0.35, 0.8]) # 获取 Precision 和 Recall 数组 precision, recall, _ = precision_recall_curve(y_true, y_scores) # 计算 AUPRC auprc_value = auc(recall, precision) print(f"AUPRC Value: {auprc_value}") ``` 此代码首先调用函数生成 Precision 和 Recall 数据序列,随后应用 `auc()` 函数完成实际求积操作[^2]。 #### 特殊情况处理 当正样本数量较少或者分布极不均衡时,可能会导致某些区间的 Precision 或者 Recall 变化剧烈,此时需特别注意插值方式的选择以及边界条件的影响[^3]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值