SMOTE: Synthetic Minority Over-sampling Technique
论文地址:https://www.jair.org/index.php/jair/article/download/10302/24590

SMOTE的算法思路是:

  • 使用K近邻,在附近(最少选附近5个点)随便找一个同一类别的点,然后连线
  • 在线段上随便找一个点,就是新的样本点(论文里说的很学术:新样本点 = 原始点+random(0,1) * 新旧差异

详细代码可以参考:https://zhuanlan.zhihu.com/p/44055312

代码示例

安装方法:pip install imbalanced-learn
https://imbalanced-learn.org/stable/over_sampling.html

过采样的文档地址:https://imbalanced-learn.org/stable/over_sampling.html

import pandas as pd
from imblearn.over_sampling import SMOTEdef get_dataset():from sklearn.datasets import make_classificationdata_x, data_y = make_classification(n_samples=1000, n_classes=2, n_features=6, n_informative=4,random_state=0)  # 2个特征# data_df = pd.DataFrame(data_x).merge(pd.Series(data_y, name="y_label"), left_index=True, right_index=True)data_x = pd.DataFrame(data_x)data_x.columns = ['x1', 'x2', 'x3', 'x4', 'x5', 'x6']data_y = pd.Series(data_y)# 删除部分数据:删除100个label为0的数据drop_index = data_y[data_y == 0].sample(100).indexdata_y = data_y.drop(drop_index)data_x = data_x.drop(drop_index)return data_x, data_yif __name__ == '__main__':x_data, y_data = get_dataset()  # 获取数据源# 使用smote生成数据smote_data = SMOTE().fit_resample(x_data, y_data.values)new_x_data = smote_data[0]  # 新的xnew_y_data = smote_data[1]  # 新的y

在工具中,如果有多个类别,会默认将拥有最多数据量的类对应的数据量,作为目标量,将其他所有类别的数据量都生成到这个量

不均衡数据集采样1——SMOTE算法(过采样)相关推荐

  1. 数据预处理与特征工程—1.不均衡样本集采样—SMOTE算法与ADASYN算法

    文章目录 一.第一种思路:平衡采样 1.SMOTE算法 2.SMOTE与RandomUnderSampler进行结合 3.Borderline-SMOTE与SVMSMOTE 4.ADASYN 5.平衡 ...

  2. smoteenn算法_基于EasyEnsemble算法和SMOTE算法的不均衡数据分类方法与流程

    本发明涉及不均衡数据二分类技术领域,尤其涉及一种基于EasyEnsemble算法和SMOTE算法的不均衡数据二分类方法. 背景技术: 数据不均衡指的是在一个样本数据集中,某一类的样本数远少于其他类的样 ...

  3. DataScience:对严重不均衡数据集进行多种采样策略(随机过抽样、SMOTE过采样、SMOTETomek综合采样、改变样本权重等)简介、经验总结之详细攻略

    DataScience:对严重不均衡数据集进行多种采样策略(随机过抽样.SMOTE过采样.SMOTETomek综合采样.改变样本权重等)简介.经验总结之详细攻略 目录

  4. 不均衡数据集采样2——BorderlineSMOTE算法(过采样)

    论文:Borderline-SMOTE: A New Over-Sampling Method in Imbalanced Data Sets Learning https://citeseerx.i ...

  5. python过采样代码实现_过采样中用到的SMOTE算法

    平时很多分类问题都会面对样本不均衡的问题,很多算法在这种情况下分类效果都不够理想.类不平衡(class-imbalance)是指在训练分类器中所使用的训练集的类别分布不均.比如说一个二分类问题,100 ...

  6. Python:SMOTE算法——样本不均衡时候生成新样本的算法

    Python:SMOTE算法 直接用python的库, imbalanced-learn imbalanced-learn is a python package offering a number ...

  7. smote算法_SMOTE过采样框架+逻辑回归模型案例

    一.SMOTE SMOTE(Synthetic Minority Oversampling Technique)是一种常用于缓解数据不均衡的算法.但是很多小伙伴表示在实际应用中有强烈的过拟合倾向.大多 ...

  8. 过采样中用到的SMOTE算法

    平时很多分类问题都会面对样本不均衡的问题,很多算法在这种情况下分类效果都不够理想.类不平衡(class-imbalance)是指在训练分类器中所使用的训练集的类别分布不均.比如说一个二分类问题,100 ...

  9. 机器学习数据不平衡不均衡处理之SMOTE算法实现

    20201125 当多数类和少数类数量相差太大的时候,少数类不一定要补充到和多数类数量一致 最好的办法就是全部过采样到最大记录数的类别 调参 SMOTE:只是过采样 SMOTEENN:过采样的同时欠采 ...

最新文章

  1. spark hive udf java_【填坑六】 spark-sql无法加载Hive UDF的jar
  2. HashMap的扩容机制---resize()
  3. mysqldumpslow基本使用
  4. Python爬虫基本库的使用
  5. 实现模糊查询并忽略大小写
  6. 语言还是你不得不服的大哥级别编程语言!
  7. 京东股价创新高:市值首次突破千亿美元 !
  8. 【Go 框架开发】Zinx 框架开发笔记
  9. 方舟编译器开源技术沙龙北京站首秀:让开源激活软件开发的潜力
  10. Linux服务器管理神器-IPython
  11. linux ffmpeg插件,Linux FFmpeg(含x264、lame插件)安装记录
  12. MCMC(MH算法)
  13. [工具][转载] ExtractData 1.08更新
  14. Objective-C 与 C++ 的区别
  15. 关于报错:There is already ‘什么Controller‘ bean method的解决方法
  16. Ubuntu-20.04永久修改DNS服务器
  17. 基尔霍夫矩阵题目泛做(AD第二轮)
  18. 用计算机设计购物小票,商友星云系统软件票据和条码标签设计和打印
  19. php不做手术会怎么样,薇娅做手术上热搜!这种病年轻人高发,有人治了三年还没治好...
  20. laravel框架中实现定时任务

热门文章

  1. 使用idea 打jar包
  2. Java 反射 mdc失效,log4j中MDC使用陷阱
  3. rdlc 固定前两列每页都显示_现在的大学生,都不会论文排版了
  4. 粒子运动模拟 - Verlet积分算法简介
  5. GLSL Optimizer
  6. STL之set_union、set_intersection、set_difference、set_symmetric_difference
  7. 地平线:发布线NavNet众包高精地图采集与定位方案,牵手韩国最大通讯企业 | CES 2019...
  8. Android 图片压缩器
  9. 去360总部参加网络信息安全会议经历
  10. XTU 1252 Defense Tower