不平衡数据的处理

本文探讨了不平衡数据的定义,不处理时对模型性能的影响,包括混淆矩阵、AUC值和ROC曲线的解释。同时介绍了处理不平衡数据的常用方法——SMOTE算法及其步骤。不平衡数据会导致准确率过高但模型性能不佳,使用AUC评估更为合适。

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

参考博文数据不平衡与smote算法
smote算法,python实现

我当时看到这个问题,首先思考:何为不平衡数据?不平衡数据是如何产生的?

1. 何为不平衡数据?

可通过一些具体例子来理解

例如在信贷评估中,违约的是少数、医学影响的癌细胞识别中,癌细胞是少数、公用事业欺诈检测,欺诈的是少数等

2. 不平衡数据不经过处理,直接建模会产生什么影响?

为了解决这个问题,我们首先要了解混淆矩阵,AUC值和ROC曲线

2.1 混淆矩阵

混淆矩阵也称为误差矩阵,是表示精度评估的一种标准格式,用n行n列的矩阵形式表示。具体评估指标有准确率、精确率和召回率等。在人工智能领域,混淆矩阵作为一种可视化工具被广泛使用

  • TP(True Positive): 真实为0,预测也为0
  • FN(False Negative): 真实为0,预测为1
  • FP(False Positive): 真实为1,预测为0
  • TN(True Negative): 真实为0,预测也为0

举个例子,直观了解一下
假设我们有一个两类分类问题:根据照片内判断男女,以下是一个包含10个记录的测试数据集,包含标签分类和模型的预测结果

标签分类 预测结果

设1-男,0-女,则混淆矩阵如下:

真实情况 预测结果
1 0
1 3(TP) 2(FN)
0 1(FP) 4(TN)

1. 准确率(Accuracy)

(1)什么是准确率?

所有预测正确的样本占所有样本的比例

(2)计算公式

A c c u r a c y = T P + T N T P + T N + F P + F N Accuracy =\frac{TP+TN}{TP+TN+FP+FN} Accuracy=TP+TN+FP+FNTP+TN
在例子中, A c c u r a c y = 7 10 Accuracy = \frac{7}{10} Accuracy=107

2. 精确率 (Precision)

(1)什么是精确率?

预测结果为正例的样本中真实为正例的比例

(2)计算公式

P r e c i s i o n = T P T P + F P Precision = \frac{TP}{TP+FP} Precision=TP+FPTP

在例子中, P r e c i s i o n = 3 4 Precision=\frac{3}{4} Precision=4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值