PR曲线和F1、ROC曲线和AUC

最近阅读机器学习,在评估学习器的性能时,书中提到了P、R、F1值度量和ROC曲线和AUC值度量。

P、R、F1

预测结果
正例 反例
真实情况 正例 TP(真正例) FN(假反例)
反例 FP(假正例) TN(真反例)

P(查准率): P=TPTP+FP   即预测结果中真正的正例的比例。
R(查全率):

### PR曲线与精度-召回率的关系 PR曲线Precision-Recall Curve)是用于评估分类模型性能的一种工具,尤其在处理类别不平衡的数据集时非常有用。PR曲线通过绘制不同阈值下的精度(Precision)召回率(Recall)之间的关系来展示模型的性能[^1]。 #### 精度(Precision) 精度是指在所有被模型预测为正类的样本中,实际为正类的比例。其公式为: ```python Precision = TP / (TP + FP) ``` 其中,`TP` 表示真正例(True Positive),`FP` 表示假正例(False Positive)。精度越高,说明模型预测为正类的样本中正确比例越大[^2]。 #### 召回率(Recall) 召回率是指在所有实际为正类的样本中,被模型正确预测为正类的比例。其公式为: ```python Recall = TP / (TP + FN) ``` 其中,`FN` 表示假负例(False Negative)。召回率越高,说明模型能够更好地覆盖所有实际为正类的样本[^2]。 #### F1分数(F1 Score) F1分数是精度召回率的调平均数,用于综合衡量模型在这两个指标上的表现。其公式为: ```python F1 = 2 * (Precision * Recall) / (Precision + Recall) ``` F1分数的取值范围在0到1之间,值越高表示模型的性能越好。当精确率召回率都较高时,F1分数也会相应较高[^1]。 #### PR曲线F1分数的关系 PR曲线通过连接不同阈值下的精度召回率点来形成。F1分数则可以看作是PR曲线上每个点的一个综合评价指标。因此,在PR曲线上,F1分数较高的点通常位于曲线的上部区域,这些点对应着较好的模型性能[^1]。 #### PR曲线的面积(AUC-PRPR曲线下的面积(AUC-PR)是一个常用的汇总指标,用于衡量整个曲线的性能。面积越大,说明模型在不同阈值下都能较好地平衡精度召回率。如果两个模型的PR曲线相交,通常选择曲线包围面积更大的模型作为更优的选择[^2]。 #### PR曲线ROC曲线的区别 虽然PR曲线ROC曲线(Receiver Operating Characteristic Curve)都是用于评估分类模型性能的工具,但它们的关注点有所不同。ROC曲线关注的是真阳性率(True Positive Rate, TPR假阳性率(False Positive Rate, FPR)之间的关系,而PR曲线关注的是精度召回率之间的关系。在类别不平衡的情况下,PR曲线通常比ROC曲线更能反映模型的真实性能[^3]。 ```python # 示例代码:绘制PR曲线 from sklearn.metrics import precision_recall_curve import matplotlib.pyplot as plt # 假设y_true为真实标签,y_scores为预测概率 precision, recall, thresholds = precision_recall_curve(y_true, y_scores) plt.figure() plt.plot(recall, precision, marker='.') plt.xlabel('Recall') plt.ylabel('Precision') plt.title('Precision-Recall Curve') plt.show() ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值