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

黄浦网站建设公司郑州的做网站公司

黄浦网站建设公司,郑州的做网站公司,工商注册营业执照网址,苏州市相城区建设局网站目录 非平衡数据的特征SMOTE算法的思想SMOTE算法的步骤SMOTE算法的手工案例SMOTE函数示例 非平衡数据的特征 在实际应用中,类别型的因变量可能存在严重的偏倚,即类别之间的比例严重失调。如欺诈问题中,欺诈类观测在样本集中毕竟占少数&#…

目录

  • 非平衡数据的特征
  • SMOTE算法的思想
  • SMOTE算法的步骤
  • SMOTE算法的手工案例
  • SMOTE函数
    • 示例

非平衡数据的特征

在实际应用中,类别型的因变量可能存在严重的偏倚,即类别之间的比例严重失调。如欺诈问题中,欺诈类观测在样本集中毕竟占少数;客户流失问题中,忠实的客户往往也是占很少一部分;在某营销活动的响应问题中,真正参与活动的客户也同样只是少部分。

如果数据存在严重的不平衡,预测得出的结论往往也是有偏的,即分类结果会偏向于较多观测的类。为了解决数据的非平衡问题,2002年Chawla提出了SMOTE算法,即合成少数过采样技术,它是基于随机过采样算法的一种改进方案。

SMOTE算法的思想

SMOTE算法的基本思想就是对少数类别样本进行分析和模拟,并将人工模拟的新样本添加到数据集中,进而使原始数据中的类别不再严重失衡。

在这里插入图片描述

SMOTE算法的步骤

1.采样最邻近算法,计算出每个少数类样本的K个近邻。
2.从K个近邻中随机挑选N个样本进行随机线性插值。
3.构造新的少数类样本。
4.将新样本与原数据合成,产生新的训练集。

SMOTE算法的手工案例

在这里插入图片描述
1.利用第11章所介绍的KNN算法,选择离样本点x_1最近的k个同类样本点(不放最近邻为5).
2.从最近的k个同类样本点中,随机挑选M个样本点(不妨设M为2),M的选择依赖于最终所希望的平衡率。
3.对于每一个随机选中的样本点,构造新的样本点。新样本点的构造需要使用下方的公式:
x n e w = x i + r a n d ( 0 , 1 ) ∗ ( x j − x i ) , j = 1 , 2 , . . . M x_{new}=x_i +rand(0,1)*(x_j-x_i) ,j=1,2,...M xnew=xi+rand(0,1)(xjxi),j=1,2,...M
其中,x_i表示少数类别中的一个样本点(如图中五角星所代表的 x 1 x_1 x1样本); x j x_j xj表示从k近邻中随机挑选的样本点j;
rand(0,1)表示生成0-1的随机数。

假设图中样本点 x 1 x_1 x1的观测值为(2,3,10,7),从图中的5个近邻随机挑选两个样本点,它们的观测值分别为(1,1,5,8)和(2,1,7,6),
由此得到的两个新样本点为:
x n e w 1 = ( 2 , 3 , 10 , 7 ) + 0.3 ∗ ( ( 1 , 1 , 5 , 8 ) − ( 2 , 3 , 10 , 7 ) ) = ( 1.7 , 2.4 , 8.5 , 7.3 ) x_{new1} =(2,3,10,7)+0.3*((1,1,5,8)-(2,3,10,7)) =(1.7,2.4,8.5,7.3) xnew1=(2,3,10,7)+0.3((1,1,5,8)(2,3,10,7))=(1.7,2.4,8.5,7.3)
x n e w 2 = ( 2 , 3 , 10 , 7 ) + 0.26 ∗ ( ( 2 , 1 , 7 , 6 ) − ( 2 , 3 , 10 , 7 ) ) = ( 2 , 2.48 , 9.22 , 6.74 ) x_{new2} =(2,3,10,7)+0.26*((2,1,7,6)-(2,3,10,7)) =(2,2.48,9.22,6.74) xnew2=(2,3,10,7)+0.26((2,1,7,6)(2,3,10,7))=(2,2.48,9.22,6.74)

4.重复步骤1,2,3,通过迭代少数类别中的每一个样本 x i x_i xi,最终将原始的少数类别样本量扩大为理想的比例。

SMOTE函数

SMOTE(ratio='auto', random_state=None, k_neighbors=5, m_neighbors=10)

ratio:用于指定重抽样的比例,如果指定字符型的值,可以是’minority’(表示对少数类别的样本进行抽样)、‘majority’(表示对多数类别的样本进行抽样)、‘not minority’(表示采用欠采样方法)、‘all’(表示采用过采样方法),默认为’auto’,等同于’all’和’not minority’。如果指定字典型的值,其中键为各个类别标签,值为类别下的样本量。
random_state:用于指定随机数生成器的种子,默认为None,表示使用默认的随机数生成器。
k_neighbors:指定近邻个数,默认为5个。
m_neighbors:指定从近邻样本中随机挑选的样本个数,默认为10个。

示例

from imblearn.over_sampling import SMOTE
from sklearn.datasets import make_classification
from collections import Counter# 生成一个不平衡数据集
X, y = make_classification(n_classes=2, class_sep=2,weights=[0.1, 0.9], n_informative=3,n_redundant=1, flip_y=0, n_features=20,n_clusters_per_class=1, n_samples=1000, random_state=10)print('原始数据集类别分布:', Counter(y))# 初始化SMOTE
smote = SMOTE(sampling_strategy='auto', random_state=42, k_neighbors=5)# 生成新的样本
X_resampled, y_resampled = smote.fit_resample(X, y)print('经过SMOTE处理后的类别分布:', Counter(y_resampled))

结果如下:

原始数据集类别分布: Counter({np.int64(1): 900, np.int64(0): 100})
经过SMOTE处理后的类别分布: Counter({np.int64(0): 900, np.int64(1): 900})
http://www.dtcms.com/wzjs/549781.html

相关文章:

  • 电子商务网站建设开题报告垄断了网站建设
  • 建平县网站建设深圳世展建设公司
  • 企业网站设计的特点什么网站可以做名片
  • 新农村建设网站ios wordpress
  • 做网站应怎么缴税wordpress 无法找到该页
  • 贵州省贵州省建设厅网站旧货交易网站开发的背景
  • 珠宝首饰网站开发国家建设部网站首页
  • saas建站做任务得得q币的网站
  • 网站建立服务门户网站建设关系到
  • 自己做的网站项目怎样卖延吉网站建设多少钱
  • 网站建设软件 免费网站建设与维护模拟一
  • 北京网站建设及优化建设网站视频
  • 中鼎国际建设集团网站wordpress输入框长度
  • 淘宝网商务网站建设目的开源网站官网
  • 湖州住房和城乡建设部网站手机版网页开发者工具
  • 龙华做网站联系电话今晚正式封城
  • 网站鼠标经过图片代码烟台做网站多钱
  • 做网站的感觉wordpress算数验证码
  • cnnic可信网站搜索引擎下载
  • 绵阳网站关键字优化服务器安全卫士
  • 东莞app培训网站建设有哪些网站做的比较好看
  • 免费免费建网站it外包人员有多惨
  • 网站建设的主要特征wordpress 安装不上
  • 网站自己推广临海网站开发公司
  • 铜煤建设网站wordpress 做网店
  • 定制网站建设报价单中国平安财产保险公司官网
  • 做网站域名的设置wordpress类似头条主题
  • 重庆有那些制作网站的公司网站建设喀什
  • 南京宜电的网站谁做的济南哪里做网站好
  • 建设施工合同备案在哪个网站接项目做的网站