TP、TN、FP、FN 含义

本文详细解析了机器学习中用于评估模型性能的基础概念,包括真阳性(TP)、真阴性(TN)、假阳性(FP)和假阴性(FN)。通过苹果好坏的二分类问题举例,帮助读者直观理解这些概念。此外,还介绍了查准率(P)和查全率(R),并提供了它们的计算公式,帮助读者深入掌握模型评估的关键指标。

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

TP、TN、FP、FN解析

一、基础概念
TP:被模型预测为正类的正样本
TN:被模型预测为负类的负样本
FP:被模型预测为正类的负样本
FN:被模型预测为负类的正样本
TP、TN、FP、FN超级详细解析

二、通俗理解
以苹果好坏的二分类数据集为例,我们来通俗理解一下什么是TP、TN、FP、FN。

TP:模型预测是好果,预测正确(实际是好果,而且也被模型预测为好果)
TN:模型预测是坏果,预测正确(实际是坏果,而且也被模型预测为坏果)
FP:模型预测是好果,预测错误(实际是坏果,但是被模型预测为了好果)
FN:模型预测是坏果,预测错误(实际是好果,但是被模型预测为了坏果)

三、查准率、查全率

(1)查准率、查全率代表的含义
查准率:模型挑出来的苹果中有多少比例是好果
查全率:所有真正的好果中有多少比例是被模型挑出来的

(2)计算查准率、查全率
查准率用P来表示:TP/(TP+FP)
查全率用R来表示:TP/(TP+FN)

### True Positive (TP), False Positive (FP), True Negative (TN), 和 False Negative (FN) 的定义 #### 1. **True Positive (TP)** True Positive 表示模型正确预测为正类的实际正类样本数量。换句话说,当实际标签为正类时,模型也成功将其分类为正类的情况称为 True Positive[^1]。 #### 2. **False Positive (FP)** False Positive 是指模型错误地将负类样本预测为正类的数量。这种情况通常被称为“误报”,即实际上属于负类的样本被错误地标记为了正类[^3]。 #### 3. **True Negative (TN)** True Negative 表示模型正确预测为负类的实际负类样本数量。这意味着对于那些真正不属于目标类别(负类)的样本,模型能够准确识别它们[^4]。 #### 4. **False Negative (FN)** False Negative 是指模型未能检测到实际为正类的样本,而错误地将其标记为负类的情况。这种现象可以理解为“漏检”。 --- ### TPFPTNFN之间的关系及其应用 这些指标常用于评估二分类模型的表现,并通过计算各种性能度量来衡量模型的有效性: - **召回率(Recall 或 Sensitivity)**: Recall 描述了模型在所有真实正类中找到的比例,其公式为: \[ \text{Recall} = \frac{\text{True Positives}}{\text{True Positives} + \text{False Negatives}} \] - **精确率(Precision)**: Precision 衡量的是模型预测为正类的样本中有多少确实是真正的正类,其公式如下: \[ \text{Precision} = \frac{\text{True Positives}}{\text{True Positives} + \text{False Positives}} \] - **特异性(Specificity)**: Specificity 计算的是模型正确拒绝负类的能力,具体表达式为: \[ \text{Specificity} = \frac{\text{True Negatives}}{\text{True Negatives} + \text{False Positives}} \] - **准确率(Accuracy)**: Accuracy 给出了整体预测正确的比例,适用于数据分布较为平衡的情况下: \[ \text{Accuracy} = \frac{\text{True Positives} + \text{True Negatives}}{\text{Total Predictions}} \][^1] --- ### 示例代码展示 以下是 Python 中实现上述公式的简单代码片段: ```python def calculate_metrics(tp, fp, tn, fn): recall = tp / (tp + fn) if (tp + fn) != 0 else 0 precision = tp / (tp + fp) if (tp + fp) != 0 else 0 specificity = tn / (tn + fp) if (tn + fp) != 0 else 0 accuracy = (tp + tn) / (tp + tn + fp + fn) return { 'Recall': recall, 'Precision': precision, 'Specificity': specificity, 'Accuracy': accuracy } # 假设输入值 metrics = calculate_metrics(90, 10, 85, 15) print(metrics) ``` 此函数接收四个参数 `tp`, `fp`, `tn`, `fn` 并返回相应的评价指标。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值