不均衡数据集采样1——SMOTE算法(过采样)
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.不均衡样本集采样—SMOTE算法与ADASYN算法
文章目录 一.第一种思路:平衡采样 1.SMOTE算法 2.SMOTE与RandomUnderSampler进行结合 3.Borderline-SMOTE与SVMSMOTE 4.ADASYN 5.平衡 ...
- smoteenn算法_基于EasyEnsemble算法和SMOTE算法的不均衡数据分类方法与流程
本发明涉及不均衡数据二分类技术领域,尤其涉及一种基于EasyEnsemble算法和SMOTE算法的不均衡数据二分类方法. 背景技术: 数据不均衡指的是在一个样本数据集中,某一类的样本数远少于其他类的样 ...
- DataScience:对严重不均衡数据集进行多种采样策略(随机过抽样、SMOTE过采样、SMOTETomek综合采样、改变样本权重等)简介、经验总结之详细攻略
DataScience:对严重不均衡数据集进行多种采样策略(随机过抽样.SMOTE过采样.SMOTETomek综合采样.改变样本权重等)简介.经验总结之详细攻略 目录
- 不均衡数据集采样2——BorderlineSMOTE算法(过采样)
论文:Borderline-SMOTE: A New Over-Sampling Method in Imbalanced Data Sets Learning https://citeseerx.i ...
- python过采样代码实现_过采样中用到的SMOTE算法
平时很多分类问题都会面对样本不均衡的问题,很多算法在这种情况下分类效果都不够理想.类不平衡(class-imbalance)是指在训练分类器中所使用的训练集的类别分布不均.比如说一个二分类问题,100 ...
- Python:SMOTE算法——样本不均衡时候生成新样本的算法
Python:SMOTE算法 直接用python的库, imbalanced-learn imbalanced-learn is a python package offering a number ...
- smote算法_SMOTE过采样框架+逻辑回归模型案例
一.SMOTE SMOTE(Synthetic Minority Oversampling Technique)是一种常用于缓解数据不均衡的算法.但是很多小伙伴表示在实际应用中有强烈的过拟合倾向.大多 ...
- 过采样中用到的SMOTE算法
平时很多分类问题都会面对样本不均衡的问题,很多算法在这种情况下分类效果都不够理想.类不平衡(class-imbalance)是指在训练分类器中所使用的训练集的类别分布不均.比如说一个二分类问题,100 ...
- 机器学习数据不平衡不均衡处理之SMOTE算法实现
20201125 当多数类和少数类数量相差太大的时候,少数类不一定要补充到和多数类数量一致 最好的办法就是全部过采样到最大记录数的类别 调参 SMOTE:只是过采样 SMOTEENN:过采样的同时欠采 ...
最新文章
- spark hive udf java_【填坑六】 spark-sql无法加载Hive UDF的jar
- HashMap的扩容机制---resize()
- mysqldumpslow基本使用
- Python爬虫基本库的使用
- 实现模糊查询并忽略大小写
- 语言还是你不得不服的大哥级别编程语言!
- 京东股价创新高:市值首次突破千亿美元 !
- 【Go 框架开发】Zinx 框架开发笔记
- 方舟编译器开源技术沙龙北京站首秀:让开源激活软件开发的潜力
- Linux服务器管理神器-IPython
- linux ffmpeg插件,Linux FFmpeg(含x264、lame插件)安装记录
- MCMC(MH算法)
- [工具][转载] ExtractData 1.08更新
- Objective-C 与 C++ 的区别
- 关于报错:There is already ‘什么Controller‘ bean method的解决方法
- Ubuntu-20.04永久修改DNS服务器
- 基尔霍夫矩阵题目泛做(AD第二轮)
- 用计算机设计购物小票,商友星云系统软件票据和条码标签设计和打印
- php不做手术会怎么样,薇娅做手术上热搜!这种病年轻人高发,有人治了三年还没治好...
- laravel框架中实现定时任务
热门文章
- 使用idea 打jar包
- Java 反射 mdc失效,log4j中MDC使用陷阱
- rdlc 固定前两列每页都显示_现在的大学生,都不会论文排版了
- 粒子运动模拟 - Verlet积分算法简介
- GLSL Optimizer
- STL之set_union、set_intersection、set_difference、set_symmetric_difference
- 地平线:发布线NavNet众包高精地图采集与定位方案,牵手韩国最大通讯企业 | CES 2019...
- Android 图片压缩器
- 去360总部参加网络信息安全会议经历
- XTU 1252 Defense Tower