当前位置: 首页 > news >正文

【基础复习2】过采样,欠采样与SMOTE:含代码示例

目录

过采样

SMOTE(进阶过采样方法)

欠采样

代码

生成数据

核心代码

运行结果

环境准备

运行

结果

结果分析


Imblearn包是为处理数据⽐例失衡而生的
在数据预处理中的采样

过采样

从少数类中随机重复抽取样本,增加其数量,使类别比例平衡。

优点:简单;缺点:可能导致过拟合(重复样本增加冗余)。

SMOTE(进阶过采样方法)

不是简单重复少数类,而是通过插值生成 “新的少数类样本”(基于相似样本合成),避免过拟合

欠采样

从多数类中随机删除样本,减少其数量,使类别比例平衡。

优点:简单、减少计算量;缺点:可能丢失多数类中的重要信息。

代码

生成数据

X, y = make_classification(n_samples=1000,  # 总样本数n_features=2,    # 2个特征(方便可视化)n_informative=2,n_redundant=0,n_classes=2,     # 二分类weights=[0.9],   # 多数类占90%,少数类占10%random_state=42
)
  • n_samples=1000:生成 1000 个样本(即 1000 条数据)。
  • n_features=2:每个样本包含 2 个特征(自变量),方便后续可视化(可在二维平面上展示)。
  • n_informative=2:这 2 个特征都是 “有信息的”,即对分类结果有实际影响(与标签相关)。
  • n_redundant=0:无冗余特征(冗余特征是由有信息特征线性组合生成的,此处不添加)。
  • n_classes=2:生成二分类问题(标签只有 2 个类别,通常用 0 和 1 表示)。
  • weights=[0.9]:指定类别比例,多数类占 90%(约 900 个样本),少数类占 10%(约 100 个样本),属于不平衡数据集
  • random_state=42:随机种子固定,保证每次运行生成的数据集完全相同,结果可复现。

核心代码

from imblearn.over_sampling import RandomOverSampler, SMOTE
from imblearn.under_sampling import RandomUnderSampler
```python
# 2. 定义采样器
oversampler_random = RandomOverSampler(random_state=42)  # 随机过采样
undersampler_random = RandomUnderSampler(random_state=42)# 随机欠采样
oversampler_smote = SMOTE(random_state=42)               # SMOTE过采样(进阶)

运行结果

环境准备

pip install imblearn scikit-learn matplotlib numpy

运行

python imblearn_demo.py

结果

结果分析

  1. 原始数据:负例(蓝色)占绝大多数,正例(红色)很少,明显失衡。
  2. 随机过采样:正例数量增加(通过重复采样),与负例基本平衡,但红色点有重叠(重复样本)。
  3. 随机欠采样:负例数量减少,与正例平衡,但可能丢失蓝色点中的重要信息。
  4. SMOTE 过采样:正例数量增加,且红色点是新合成的(非重复),分布更自然,避免过拟合风险。
http://www.dtcms.com/a/524888.html

相关文章:

  • Spring/Spring Boot工程中Bean间歇性存在的问题
  • FactionTemplate.db2
  • AI 工具网站如何快速起量?一篇讲清新词、外链与选品逻辑
  • 坪洲网站建设惠济区建设局网站
  • UVa 13099 Tobby and the Line Game
  • bash的“进程替换 + 重定向”和“传统管道”
  • 4-ARM-PEG-Olefin(2)/Biotin(2),四臂聚乙二醇-烯烃/生物素多功能支链分子,多功能分子构建
  • 网站的建设与维护工资网站建设的原则有哪些内容
  • 日常推荐电脑小知识——1
  • 外贸网站建设及推广网站优化员seo招聘
  • PLM实施专家宝典:离散制造企业研发数据“数字基因”构建方案
  • 攻克 PCB 高低差字符检测痛点!维视自聚焦系统解锁电子制造智能新范式
  • 网站设计方案怎么写莱州人才网
  • 基于单片机的鱼缸监测与远程管理系统设计
  • ECSide标签<ec:table>表格对不齐问题处理
  • 南平住房和城乡建设部网站微信引流被加软件
  • 场馆预定系统小程序
  • Tauri 为什么仍未取代 Electron?
  • 个人网站做联盟营销网站集约化建设的优势
  • Nginx反向代理WebSocket配置笔记
  • 【数论】费马小定理
  • goland23.1自带dlv版本太低,使用新版dlv
  • 做外贸出口的网站企业免费做网站
  • Kotlin × Gson:为什么遍历 JsonObject 要用 entrySet()
  • 中国建设安全监理协会网站年轻的儿媳
  • 网站网站到底怎么做个人代运营一般怎么收费
  • segformer算法——Mix-FFN详细讲解
  • 高精度算法全解析:从原理到实现
  • 参考线模块(上)
  • 鸿蒙Next图片开发指南:从解码、处理到接收的完整实践