准确率accuracy、精确率precision、召回率recall、f1_score

准确率是分类器正确分类的样本数与总样本数的比例,但并不总是能全面评估分类器性能。精确率是真正例占预测为正例的比例,召回率是真正例占实际正例的比例。当需要平衡精确率和召回率时,F1分数(精确率和召回率的调和平均数)是一个有用的指标。

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

一、准确率

准确率(accuracy):对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。
由准确率,我们的确可以在一些场合,从某种意义上得到一个分类器是否有效,但它并不总是能有效的评价一个分类器的工作。举个例子,google抓取 了argcv 100个页面,而它索引中共有10,000,000个页面,随机抽一个页面,分类下,这是不是argcv的页面呢?如果以accuracy来判断我的工 作,那我会把所有的页面都判断为"不是argcv的页面",因为我这样效率非常(return false,一句话),而accuracy已经到了99.999(9,999,900/10,000,000),完爆其它很多分类器辛辛苦苦算的值,而我这个算法显然不是需求期待的,那怎么解决呢?这就是precision,recall和f1-measure出场的时间了.

二、精确率、召回率、f1

  • TP ——将正类预测为正类数(True Positive)

  • FN ——将正类预测为负类数(False Negative)

  • FP ——-将负类预测为正类

  • TN ——-将负类预测为负类数

真实为正 真实为负
预测为正 TP FP
预测为负 TN FN

准确率= T P ÷ ( T P + F P + T N

### 精确 Precision 的定义与使用方法 精确Precision)是模型评估中的一个重要指标,用于衡量模型预测为正类的样本中有多少比例实际上是正类。其计算公式如下: \[ \text{Precision} = \frac{\text{True Positive (TP)}}{\text{True Positive (TP)} + \text{False Positive (FP)}} \] 其中: - True Positive (TP): 实际为正类且被模型正确预测为正类的样本数。 - False Positive (FP): 实际为负类却被模型错误预测为正类的样本数。 #### 如何在模型评估中正确应用 Precision 指标? 1. **理解 Precision 的意义** 在许多应用场景中,尤其是涉及成本敏感的任务时,Precision 是非常重要的。例如,在医疗诊断或金融欺诈检测领域,误判一个负类为正类可能导致严重的后果。因此,提高 Precision 可以有效降低 FP 数量[^1]。 2. **结合 Recall 使用** 虽然提高 Precision 很重要,但它通常伴随着 Recall 的下降。这是因为更严格的阈值虽然减少了误报(FP),但也可能漏掉更多真正的正类样本(FN)。因此,在实际应用中需要根据具体需求权衡两者之间的关系[^2]。 3. **绘制 P-R 曲线** 为了更好地分析模型的表现,可以绘制 Precision-Recall (P-R)曲线。这条曲线展示了随着决策阈值变化时 PrecisionRecall 的动态关系。通过观察整条曲线,能够更加全面地评价模型性能。 4. **选择合适的 Top-N 结果** 对于某些排序任务或者推荐系统,除了整体 Precision 外还需要关注不同截断长度下的表现,即 Precision@N 或者 Recall@N。这有助于了解模型在有限资源条件下能否快速找到高质量结果。 5. **引入综合评分 F1-Score** 如果希望同时考虑 PrecisionRecall,则可以通过计算它们的调和平均值得到 F1-Score: \[ F1 = 2 * \frac{\text{Precision}*\text{Recall}}{\text{Precision}+\text{Recall}} \] 这种方式提供了一个单一数值来平衡两个维度的重要性[^3]。 ```python from sklearn.metrics import precision_score # 假设 y_true 是真实标签列表, y_pred 是模型预测标签列表 precision_value = precision_score(y_true, y_pred) print(f"The calculated Precision is {precision_value}") ``` 上述代码片段展示如何利用 `sklearn` 库轻松计算给定数据集上的 Precision 值。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值