CN116628600A - 基于随机森林的不平衡数据采样方法及装置 - Google Patents

基于随机森林的不平衡数据采样方法及装置 Download PDF

Info

Publication number
CN116628600A
CN116628600A CN202310883350.6A CN202310883350A CN116628600A CN 116628600 A CN116628600 A CN 116628600A CN 202310883350 A CN202310883350 A CN 202310883350A CN 116628600 A CN116628600 A CN 116628600A
Authority
CN
China
Prior art keywords
sampling
random
subclass
sample
equal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310883350.6A
Other languages
English (en)
Inventor
杨晓雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 15 Research Institute
Original Assignee
CETC 15 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 15 Research Institute filed Critical CETC 15 Research Institute
Priority to CN202310883350.6A priority Critical patent/CN116628600A/zh
Publication of CN116628600A publication Critical patent/CN116628600A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Abstract

本申请公开了一种基于随机森林的不平衡数据采样方法及装置,该方法包括:输入不平衡数据集,所述不平衡数据集为X,所述不平衡数据集包括Nn个大类样本和Np个小类样本;将所述不平衡数据集拆分成大类样本和小类样本两个数据集,确定决策树基分类器的个数为N,计数器i=1;对大类样本数据集进行随机采样,生成大类子样本集;对小类样本数据集进行多次有放回随机采样,生成小类子样本集;将两个子样本集合并,生成训练子集;对决策树基分类器进行训练,重复训练的步骤,直至遍历所有分类器;输入测试集,统计N个所述决策树基分类器的预测结果,输出所述预测结果。本申请提高随机森林模型算法的多样性,提升不平衡数据的分类性能。

Description

基于随机森林的不平衡数据采样方法及装置
技术领域
本申请属于不平衡数据分类技术领域,特别涉及一种基于随机森林的不平衡数据采样方法及装置。
背景技术
在二分类问题的数据集中,某一类数据样本数量较多,而另一类数据样本数量较少时,这类数据集被称为不平衡数据,其中数据样本数量较多的一类称为大类,数据样本数量较少的一类称为小类。
不平衡数据问题在现实生活中已经愈发常见,并且涉及领域非常广泛,比如恶意域名检测、恶意代码检测、诈骗检测、罕见病预测等。在日常生活中,大类的数量要远远超过小类的数量,而传统的分类器在进行分类时默认数据是处于平衡状态的,当对这些样本分布不均匀的不平衡数据进行分类时,其分类结果会倾向大类,导致分类器的分类性能下降,大多数情况下无法取得理想的结果。
针对上述问题,提出本申请中的基于随机森林的不平衡数据采样方法。
发明内容
为了解决所述现有技术的不足,本申请提供了一种基于随机森林的不平衡数据采样方法,解决在对样本分布不均匀的不平衡数据进行分类时,其分类结果会倾向大类,导致分类器的分类性能下降,通常无法取得理想的结果的技术问题,以便降低不平衡数据的影响,提高分类准确率。
本申请所要达到的技术效果通过以下方案实现:
第一方面,本申请实施例提供一种基于随机森林的不平衡数据采样方法,包括:
S1:输入不平衡数据集,所述不平衡数据集为X,所述不平衡数据集包括Nn个大类样本和Np个小类样本,其中,Nn和Np均为整数;
S2:将所述不平衡数据集拆分成两个数据集,所述两个数据集分别为大类样本数据集 Xn和小类样本数据集Xp
S3:确定随机森林选择的决策树基分类器的个数为N,计数器i=1,其中N为整数;
S4:对所述大类样本数据集Xn进行随机采样,生成大类子样本集Xni,其中1≤i≤N;
S5:对所述小类样本数据集 Xp进行多次有放回随机采样,生成小类子样本集 Xpi,其中1≤i≤N;
S6:将所述大类子样本集 Xni和所述小类子样本Xpi合并,生成训练子集Xi
S7:使用所述训练子集 Xi对所述决策树基分类器进行训练,每次训练完一个所述决策树基分类器,所述计数器i自动计数,i=i+1;
S8:重复步骤S4-S7,直到i大于N为止;
S9:输入测试集,统计N个所述决策树基分类器的预测结果,输出所述预测结果。
在一些实施例中,对所述大类样本数据集 Xn进行随机采样的采样数量与所述小类样本的数量Np相等。
在一些实施例中,所述对所述大类样本数据集Xn进行随机采样,生成大类子样本集 Xni,其中1≤i≤N,包括:
S401:设定对所述大类样本数据集的采样数量Np
S402:在所述大类样本数据集 Xn中,一次性随机采样Np个所述大类样本,形成所述大类子样本集Xni
S403:将随机采样的 Np个所述大类样本放回至所述大类样本数据集Xn中以待下次随机欠采样。
在一些实施例中,所述对所述小类样本数据集Xp进行多次有放回随机采样,生成小类子样本集 Xpi,其中1≤i≤N,包括:
对所述小类样本数据集 Xp进行多次有放回的随机采样,并记录采样次数为j,每次随机抽采样数量为 Nj,其中,1≤j≤Np,生成小类子样本集 Xpi,其中,1≤i≤N。
在一些实施例中,所述对所述小类样本数据集 Xp进行多次有放回的随机采样,并记录采样次数为j,每次随机抽采样数量为Nj,其中,1≤j≤Np,生成小类子样本集 Xpi,其中,1≤i≤N,包括:
S501:定义采样次数为j,最小采样数为Nmin,最大采样数为Nmax,小类样本剩余数量为 Nps,小类随机采样数量列表为random_select,其中1≤j≤Np,1≤Nmin≤Nmax≤Nps,0≤Nps≤Np,随机选择列表为空列表;
S502:根据所述小类样本的数量Np确定一个最小采样数Nmin
S503:计算Nmax=[Nps÷j]×2,获得每次随机采样的最大值;
S504:在所述最小采样数为 Nmin与所述最大采样数为Nmax之间随机生成本次采样数m,放入列表所述random_select中;
S505:计算j=j-1,Nps=Nps-m;
S506:进行判断,如果j=1,则将 Nps放入至所述random_select中,并结束步骤S506,执行后续步骤;否则,重复步骤S503- S505的操作步骤;
S507:根据所述random_select,采用有放回的随机采样,生成所述小类子样本集Xpi
第二方面,本申请实施例提供一种基于随机森林的不平衡数据采样装置,包括:
输入模块,用于输入不平衡数据集,所述不平衡数据集为X,所述不平衡数据集包括 Nn个大类样本和Np个小类样本,其中,Nn和 Np均为整数;
拆分模块,用于将所述不平衡数据集拆分成两个数据集,所述两个数据集分别为大类样本数据集 Xn和小类样本数据集 Xp
确定模块,确定随机森林选择的决策树基分类器的个数为N,计数器i=1,其中N为整数;
第一采样模块,用于对所述大类样本数据集Xn进行随机采样,生成大类子样本集Xni,其中1≤i≤N;
第二采样模块,用于对所述小类样本数据集Xp进行多次有放回随机采样,生成小类子样本集 Xpi,其中1≤i≤N;
合并模块,用于将所述大类子样本集Xni和所述小类子样本集Xpi合并,生成训练子集 Xi
训练模块,用于使用所述训练子集Xi对所述决策树基分类器进行训练,每次训练完一个所述决策树基分类器,所述计数器i自动计数,i=i+1;
循环模块,用于重复步骤S4-S7,直到i大于N为止;
输出模块,用于输入测试集,统计N个所述决策树基分类器的预测结果,输出所述预测结果。
在一些实施例中,对所述大类样本数据集Xn进行随机采样的采样数量与所述小类样本的数量Np相等。
在一些实施例中,所述第一采样模块还用于执行如下步骤:
S401:设定对所述大类样本数据集的采样数量 Np
S402:在所述大类样本数据集 Xn中,一次性随机采样 Np个所述大类样本,形成所述大类子样本集Xni
S403:将随机采样的 Np个所述大类样本放回至所述大类样本数据集Xn中以待下次随机欠采样。
在一些实施例中,所述第二采样模块还用于执行如下步骤:
对所述小类样本数据集Xp进行多次有放回的随机采样,并记录采样次数为j,每次随机抽采样数量为Nj,其中,1≤j≤Np,生成小类子样本集Xpi,其中,1≤i≤N。
在一些实施例中,所述对所述小类样本数据集Xp进行多次有放回的随机采样,并记录采样次数为j,每次随机抽采样数量为 Nj,其中,1≤j≤Np,生成小类子样本集Xpi,其中,1≤i≤N,包括:
S501:定义采样次数为j,最小采样数为Nmin,最大采样数为Nmax,小类样本剩余数量为 Nps,小类随机采样数量列表为random_select,其中1≤j≤Np,1≤Nmin≤Nmax≤Nps,0≤Nps≤Np,随机选择列表为空列表;
S502:根据所述小类样本的数量Np确定一个最小采样数Nmin
S503:计算Nmax=[Nps÷j]×2,获得每次随机采样的最大值;
S504:在所述最小采样数为Nmin与所述最大采样数为Nmax之间随机生成本次采样数m,放入列表所述random_select中;
S505:计算j=j-1,Nps=Nps-m;
S506:进行判断,如果j=1,则将Nps放入至所述random_select中,并结束步骤S506,执行后续步骤;否则,重复步骤S503- S505的操作步骤;
S507:根据所述random_select,采用有放回的随机采样,生成所述小类子样本集Xpi
第三方面,本申请实施例提供一种电子设备,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现前述任意一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述任一项所述的方法。
通过本申请实施例提供的基于随机森林的不平衡数据采样方法,通过对不平衡数据集进行大样本数据集和小样本数据集分类,并分别采用不同的采样方法,来降低不平衡数据对训练的影响,提高分类器的训练准确度,并提高最终的分类准确率;从而保证抽到数据样本多样化、类别分布均衡、耦合度更低的训练子集,提高随机森林模型算法的多样性,提升不平衡数据的分类性能。
附图说明
为了更清楚地说明本申请实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例中的基于随机森林的不平衡数据采样方法的流程图;
图2为本申请一实施例中的基于随机森林的不平衡数据采样方法的具体实现图;
图3为本申请一实施例中的基于随机森林的不平衡数据采样装置的结构图;
图4为本申请一实施例中的电子设备的示意框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本申请的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,除非另外定义,本申请一个或多个实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
相关技术中,随机森林算法是一种集成学习方法,传统随机森林在进行模型训练和结果预测时,是并行组合所有的决策树基分类器,也就是每棵决策树基分类器进行投票,汇总投票结果,结果按照少数服从多数进行输出。随机森林算法具备两个随机性,一是随机取数据,另一个是随机取特征。前者指的是在训练决策树基分类器之前需要在数据集中随机挑选一部分数据作为数据子集来训练该决策树基分类器,每次训练决策树基分类器都要重新挑选训练子集。后者指的是在决策树基分类器进行节点分裂时,需要从所有特征所在的特征空间中随机抽取一定数量的特征作为本次分裂的特征集合。由于随机森林的这两个随机性,使得其具有良好的鲁棒性和高性能,在面向不平衡数据集分类时,具有良好的抵抗不平衡的能力。但是当数据集不平衡度加大时,随机森林算法用来训练决策树基分类器的数据集中小类样本会更少,造成每个决策树基分类器的预测结果都偏向大类,从而导致随机森林算法本身的分类性能降低。
目前,重构训练集是在数据层面解决不平衡数据集问题的方法之一,基于集成的方法也属于该类方法中的一种。
基于集成方法(Ensemble-based Methods)是指将训练集分为多个训练子集,然后每个训练子集分别训练一个分类器模型,最后将这些分类模型通过某种策略组成在一起,作为一个强分类器,来提高传统分类器的分类效果。根据集成方法的优良表现,相关技术人员提出了EasyEnsemble方法,EasyEnsemble通过将大类样本划分n份与小类样本数量相同的样本,与小类样本重构每个决策树基分类器训练样本。相关学者基于EasyEnsemble提出改进策略xEasyEnsemble,保留大类处理方法的同时,对小类进行有放回的随机抽样,重构决策树基分类器训练样本。
如前所述,相关的基于集成的方法存在以下问题: EasyEnsemble方法最大限度的保留了大类和小类样本,但是训练基分类器的小类样本都是相同的,存在过拟合问题。而xEasyEnsemble方法,通过对小类进行有放回的随机抽样,解决了过拟合问题,但是又面临小类样本浪费的问题。
因此,需要采用本申请提供的基于随机森林的不平衡数据采样方法来解决上述问题。
下面结合附图,详细说明本申请的各种非限制性实施方式。
首先,参照图1,对发明的基于随机森林的不平衡数据采样方法进行详细说明。
S1:输入不平衡数据集,所述不平衡数据集为X,所述不平衡数据集包括Nn个大类样本和 Np个小类样本,其中,Nn和 Np均为整数;
S2:将所述不平衡数据集拆分成两个数据集,所述两个数据集分别为大类样本数据集 Xn和小类样本数据集Xp
S3:确定随机森林选择的决策树基分类器的个数为N,计数器i=1,其中N为整数;
S4:对所述大类样本数据集Xn进行随机采样,生成大类子样本集Xni,其中1≤i≤N;
S5:对所述小类样本数据集Xp进行多次有放回随机采样,生成小类子样本集Xpi,其中1≤i≤N;
S6:将所述大类子样本集 Xni和所述小类子样本集Xpi合并,生成训练子集Xi
S7:使用所述训练子集Xi对所述决策树基分类器进行训练,每次训练完一个所述决策树基分类器,所述计数器i自动计数,i=i+1;
S8:重复步骤S4-S7,直到i大于N为止;
S9:输入测试集,统计N个所述决策树基分类器的预测结果,输出所述预测结果。
在一些实施例中,对所述大类样本数据集Xn进行随机采样的采样数量与所述小类样本的数量Np相等。
在一些实施例中,所述对所述大类样本数据集Xn进行随机采样,生成大类子样本集 Xni,其中1≤i≤N,包括:
S401:设定对所述大类样本数据集的采样数量Np
S402:在所述大类样本数据集Xn中,一次性随机采样Np个所述大类样本,形成所述大类子样本集Xni
S403:将随机采样的Np个所述大类样本放回至所述大类样本数据集Xn中以待下次随机欠采样。
在一些实施例中,所述对所述小类样本数据集 Xp进行多次有放回随机采样,生成小类子样本集Xpi,其中1≤i≤N,包括:
对所述小类样本数据集Xp进行多次有放回的随机采样,并记录采样次数为j,每次随机抽采样数量为Nj,其中,1≤j≤Np,生成小类子样本集Xpi,其中,1≤i≤N。
在一些实施例中,所述对所述小类样本数据集 Xp进行多次有放回的随机采样,并记录采样次数为j,每次随机抽采样数量为Nj,其中,1≤j≤Np,生成小类子样本集Xpi,其中,1≤i≤N,包括:
S501:定义采样次数为j,最小采样数为Nmin,最大采样数为Nmax,小类样本剩余数量为 Nps,小类随机采样数量列表为random_select,其中1≤j≤Np,1≤Nmin≤Nmax≤Nps,0≤Nps≤Np,随机选择列表为空列表;
S502:根据所述小类样本的数量Np确定一个最小采样数Nmin
S503:计算Nmax=[Nps÷j]×2,获得每次随机采样的最大值;
S504:在所述最小采样数为Nmin与所述最大采样数为Nmax之间随机生成本次采样数m,放入列表所述random_select中;
S505:计算j=j-1,Nps=Nps-m;
S506:进行判断,如果j=1,则将Nps放入至所述random_select中,并结束步骤S506,执行后续步骤;否则,重复步骤S503- S505的操作步骤;
S507:根据所述random_select,采用有放回的随机采样,生成所述小类子样本集Xpi
通过本申请实施例提供的基于随机森林的不平衡数据采样方法,通过对不平衡数据集进行大样本数据集和小样本数据集分类,并分别采用不同的采样方法,来降低不平衡数据对训练的影响,提高分类器的训练准确度,并提高最终的分类准确率。
下面根据图2来对本申请的另一实施例进行详细描述。
如图2所示,输入不平衡数据集,以及基分类器个数N;处理拆分不平衡数据集,得到大类样本集和小类样本集,判断是否N>0;
如果大于0,则对大类样本进行随机欠采样生成大类子样本集,采样数与小类样本数保持一致;对小类样本进行多次有放回的随机抽样生成小类子样本集,小类子样本集数量与小类样本数保持一致,合并大类子样本集和小类子样本集,形成决策树基分类器训练子集,训练决策树基分类器,并使得N=N-1,进行循环判断;
如果小于0,输入测试集,统计决策树基分类器各预测结果,输出最终预测结果,并结束流程。
具体地,可以采用如下的示例:
S11:定义不平衡数据集为X,其中包含 Nn个大类样本Xn和 Np个小类样本 Xp;定义随机森林选择的决策树基分类器个数为N,计数器i=1;
S21:拆分不平衡数据集X,为两个数据集,分别为大类样本集 Xn和小类样本集Xp
S31:对大类样本集Xn进行随机欠采样,采样数与小类样本数量Np相等,生成大类子样本集Xni(1≤i≤N);
S41:对小类样本进行多次有放回的随机抽样,记抽样次数为j,每次随机抽样数量为 Nj(其中,1≤j≤Np),生成小类子样本集 Xpi(1≤i≤N);
S51:合并大类子样本集Xni和小类子样本集Xpi,生成训练子集Xi(1≤i≤N);
S61:使用训练子集Xi训练决策树基分类器,i=i+1;
S71:重复S31-S61上述操作,直到i>N为止;
S81:输入测试集,统计所有决策树基分类器投票结果,输入预测结果。
进一步的,步骤S31的具体操作包括以下步骤,
S3011:设定采样数量Np
S3012:在大类样本集中一次性随机抽样Np个大类样本,形成大类子样本集Xni
S3013:将随机抽样的Np个大类样本,放回大类样本集以待下次随机欠采样。
进一步的,步骤S41的具体操作包括以下步骤,
S4011:定义抽样次数j,最小抽样数为Nmin,最大抽样数为 Nmax,小类样本剩余数量为 Nps,小类随机抽样数量列表为random_select,其中1≤j≤Np,1≤Nmin≤Nmax≤ Nps,0≤Nps≤ Np,random_select为空列表;
S4012:根据小类样本数量给定一个最小抽样数Nmin
S4013:计算Nmax=[Nps÷j]×2,得到每次随机抽样的最大值;
S4014:在最小抽样数为Nmin,最大抽样数为Nmax之间随机生成本次采样数m,放入列表random_select中;
S4015:计算j=j-1,Nps=Nps-m;
S4016:判断,如果j==1,则将 Nps放入random_select结束S4016,继续执行后续步骤;反之重复S4011- S4015上述操作;
S4017:根据random_select随机抽样数量列表,采用有放回的随机抽样,生成小类子样本集 Xpi
通过本申请实施例提供的基于随机森林的不平衡数据采样方法,通过对不平衡数据集进行大样本数据集和小样本数据集分类,并分别采用不同的采样方法,来降低不平衡数据对训练的影响,提高分类器的训练准确度,并提高最终的分类准确率。
参照图3,下面对本申请的基于随机森林的不平衡数据采样装置进行详细描述。
如图3所示,本申请实施例提供一种基于随机森林的不平衡数据采样装置,包括:
输入模块,用于输入不平衡数据集,所述不平衡数据集为X,所述不平衡数据集包括 Nn个大类样本和 Np个小类样本,其中,Nn和Np均为整数;
拆分模块,用于将所述不平衡数据集拆分成两个数据集,所述两个数据集分别为大类样本数据集Xn和小类样本数据集Xp
确定模块,确定随机森林选择的决策树基分类器的个数为N,计数器i=1,其中N为整数;
第一采样模块,用于对所述大类样本数据集Xn进行随机采样,生成大类子样本集Xni,其中1≤i≤N;
第二采样模块,用于对所述小类样本数据集Xp进行多次有放回随机采样,生成小类子样本集Xpi,其中1≤i≤N;
合并模块,用于将所述大类子样本集Xni和所述小类子样本集Xpi合并,生成训练子集 Xi
训练模块,用于使用所述训练子集Xi对所述决策树基分类器进行训练,每次训练完一个所述决策树基分类器,所述计数器i自动计数,i=i+1;
循环模块,用于重复步骤S4-S7,直到i大于N为止;
输出模块,用于输入测试集,统计N个所述决策树基分类器的预测结果,输出所述预测结果。
在一些实施例中,对所述大类样本数据集Xn进行随机采样的采样数量与所述小类样本的数量Np相等。
在一些实施例中,所述第一采样模块还用于执行如下步骤:
S401:设定对所述大类样本数据集的采样数量Np
S402:在所述大类样本数据集Xn中,一次性随机采样Np个所述大类样本,形成所述大类子样本集Xni
S403:将随机采样的Np个所述大类样本放回至所述大类样本数据集Xn中以待下次随机欠采样。
在一些实施例中,所述第二采样模块还用于执行如下步骤:
对所述小类样本数据集 Xp进行多次有放回的随机采样,并记录采样次数为j,每次随机抽采样数量为Nj,其中,1≤j≤Np,生成小类子样本集 Xpi,其中,1≤i≤N。
在一些实施例中,所述对所述小类样本数据集Xp进行多次有放回的随机采样,并记录采样次数为j,每次随机抽采样数量为 Nj,其中,1≤j≤Np,生成小类子样本集Xpi,其中,1≤i≤N,包括:
S501:定义采样次数为j,最小采样数为Nmin,最大采样数为 Nmax,小类样本剩余数量为 Nps,小类随机采样数量列表为random_select,其中1≤j≤Np,1≤Nmin≤Nmax≤Nps,0≤Nps≤Np,随机选择列表为空列表;
S502:根据所述小类样本的数量Np确定一个最小采样数Nmin
S503:计算Nmax=[Nps÷j]×2,获得每次随机采样的最大值;
S504:在所述最小采样数为Nmin与所述最大采样数为Nmax之间随机生成本次采样数m,放入列表所述random_select中;
S505:计算j=j-1,Nps=Nps-m;
S506:进行判断,如果j=1,则将Nps放入至所述random_select中,并结束步骤S506,执行后续步骤;否则,重复步骤S503- S505的操作步骤;
S507:根据所述random_select,采用有放回的随机采样,生成所述小类子样本集Xpi
本实施例的基于随机森林的不平衡数据采样装置能够实现前述任一实施例中的基于随机森林的不平衡数据采样方法,并且实现前述任一实施例中的基于随机森林的不平衡数据采样方法所能实现的技术效果,对此不再赘述。
相对于现有技术,本发明带来的有益效果在于:本发明提出的基于随机森林的不平衡数据抽样方法,可以很好的解决数据不平衡问题,提高分类精度;并对前人提出的EasyEnsemble和xEasyEnsemble进行整合优化,既解决了小类过拟合风险,又能减少小类样本浪费情况,从而保证抽到数据样本多样化、类别分布均衡、耦合度更低的训练子集,提高随机森林模型算法的多样性,提升不平衡数据的分类性能。
需要说明的是,本申请一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还公开一种电子设备;
具体地,图4示出了本实施例所提供的一种前述任一实施例中的基于随机森林的不平衡数据采样方法的电子设备的硬件结构示意图, 该设备可以包括:处理器410、存储器420、输入/输出接口430、通信接口440和总线 450。其中,处理器410、存储器420、输入/输出接口430和通信接口440通过总线450实现彼此之间在设备内部的通信连接。
处理器410可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案。
存储器420可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器420可以存储操作系统和其他应用程序,在通过软件或者固件来实现本申请实施例所提供的技术方案时,相关的程序代码保存在存储器420中,并由处理器410来调用执行。
输入/输出接口430用于连接输入/输出模块,以实现信息输入及输出。输入/输出模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如,USB、网线等)实现通信,也可以通过无线方式(例如,移动网络、WIFI、蓝牙等)实现通信。
总线450包括一通路,在设备的各个组件(例如,处理器410、存储器420、输入/输出接口430和通信接口440)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器410、存储器420、输入/输出接口430、通信接口440以及总线450,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的前述任一实施例中的基于随机森林的不平衡数据采样方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行前述任一实施例中的基于随机森林的不平衡数据采样方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的前述任一实施例中的基于随机森林的不平衡数据采样方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以避免使本申请一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种基于随机森林的不平衡数据采样方法,其特征在于,所述方法包括:
S1:输入不平衡数据集,所述不平衡数据集为X,所述不平衡数据集包括 Nn个大类样本和Np个小类样本,其中,Nn和Np均为整数;
S2:将所述不平衡数据集拆分成两个数据集,所述两个数据集分别为大类样本数据集Xn和小类样本数据集Xp
S3:确定随机森林选择的决策树基分类器的个数为N,计数器i=1,其中N为整数;
S4:对所述大类样本数据集Xn进行随机采样,生成大类子样本集Xni,其中1≤i≤N;
S5:对所述小类样本数据集Xp进行多次有放回随机采样,生成小类子样本集Xpi,其中1≤i≤N;
S6:将所述大类子样本集Xni和所述小类子样本集Xpi合并,生成训练子集Xi
S7:使用所述训练子集Xi对所述决策树基分类器进行训练,每次训练完一个所述决策树基分类器,所述计数器i自动计数,i=i+1;
S8:重复步骤S4-S7,直到i大于N为止;
S9:输入测试集,统计N个所述决策树基分类器的预测结果,输出所述预测结果。
2.如权利要求1所述的基于随机森林的不平衡数据采样方法,其特征在于,对所述大类样本数据集Xn进行随机采样的采样数量与所述小类样本的数量Np相等。
3.如权利要求2所述的基于随机森林的不平衡数据采样方法,其特征在于,所述对所述大类样本数据集Xn进行随机采样,生成大类子样本集Xni,其中1≤i≤N,包括:
S401:设定对所述大类样本数据集的采样数量Np
S402:在所述大类样本数据集Xn中,一次性随机采样Np个所述大类样本,形成所述大类子样本集Xni
S403:将随机采样的Np个所述大类样本放回至所述大类样本数据集Xn中以待下次随机欠采样。
4.如权利要求1或2所述的基于随机森林的不平衡数据采样方法,其特征在于,所述对所述小类样本数据集Xp进行多次有放回随机采样,生成小类子样本集Xpi,其中1≤i≤N,包括:
对所述小类样本数据集Xp进行多次有放回的随机采样,并记录采样次数为j,每次随机抽采样数量为Nj,其中,1≤j≤Np,生成小类子样本集Xpi,其中,1≤i≤N。
5.如权利要求4所述的基于随机森林的不平衡数据采样方法,其特征在于,所述对所述小类样本数据集Xp进行多次有放回的随机采样,并记录采样次数为j,每次随机抽采样数量为Nj,其中,1≤j≤Np,生成小类子样本集Xpi,其中,1≤i≤N,包括:
S501:定义采样次数为j,最小采样数为Nmin,最大采样数为Nmax,小类样本剩余数量为Nps,小类随机采样数量列表为random_select,其中1≤j≤Np,1≤Nmin≤Nmax≤Nps,0≤Nps≤Np,随机选择列表为空列表;
S502:根据所述小类样本的数量Np确定一个最小采样数Nmin
S503:计算Nmax=[Nps÷j]×2,获得每次随机采样的最大值;
S504:在所述最小采样数为Nmin与所述最大采样数为Nmax之间随机生成本次采样数m,放入列表所述random_select中;
S505:计算j=j-1,Nps=Nps-m;
S506:进行判断,如果j=1,则将Nps放入至所述random_select中,并结束步骤S506,执行后续步骤;否则,重复步骤S503- S505的操作步骤;
S507:根据所述random_select,采用有放回的随机采样,生成所述小类子样本集Xpi
6.一种基于随机森林的不平衡数据采样装置,其特征在于,所述装置包括:
输入模块,用于输入不平衡数据集,所述不平衡数据集为X,所述不平衡数据集包括Nn个大类样本和Np个小类样本,其中,Nn和Np均为整数;
拆分模块,用于将所述不平衡数据集拆分成两个数据集,所述两个数据集分别为大类样本数据集Xn和小类样本数据集Xp
确定模块,确定随机森林选择的决策树基分类器的个数为N,计数器i=1,其中N为整数;
第一采样模块,用于对所述大类样本数据集Xn进行随机采样,生成大类子样本集Xni,其中1≤i≤N;
第二采样模块,用于对所述小类样本数据集Xp进行多次有放回随机采样,生成小类子样本集Xpi,其中1≤i≤N;
合并模块,用于将所述大类子样本集Xni和所述小类子样本集Xpi合并,生成训练子集Xi
训练模块,用于使用所述训练子集Xi对所述决策树基分类器进行训练,每次训练完一个所述决策树基分类器,所述计数器i自动计数,i=i+1;
循环模块,用于重复步骤S4-S7,直到i大于N为止;
输出模块,用于输入测试集,统计N个所述决策树基分类器的预测结果,输出所述预测结果。
7.如权利要求6所述的基于随机森林的不平衡数据采样装置,其特征在于,对所述大类样本数据集Xn进行随机采样的采样数量与所述小类样本的数量Np相等。
8.如权利要求7所述的基于随机森林的不平衡数据采样装置,其特征在于,所述第一采样模块还用于执行如下步骤:
S401:设定对所述大类样本数据集的采样数量Np
S402:在所述大类样本数据集Xn中,一次性随机采样Np个所述大类样本,形成所述大类子样本集Xni
S403:将随机采样的Np个所述大类样本放回至所述大类样本数据集Xn中以待下次随机欠采样。
9.如权利要求6或7所述的基于随机森林的不平衡数据采样装置,其特征在于,所述第二采样模块还用于执行如下步骤:
对所述小类样本数据集Xp进行多次有放回的随机采样,并记录采样次数为j,每次随机抽采样数量为Nj,其中,1≤j≤Np,生成小类子样本集Xpi,其中,1≤i≤N。
10.如权利要求9所述的基于随机森林的不平衡数据采样装置,其特征在于,所述对所述小类样本数据集Xp进行多次有放回的随机采样,并记录采样次数为j,每次随机抽采样数量为Nj,其中,1≤j≤Np,生成小类子样本集Xpi,其中,1≤i≤N,包括:
S501:定义采样次数为j,最小采样数为Nmin,最大采样数为Nmax,小类样本剩余数量为Nps,小类随机采样数量列表为random_select,其中1≤j≤Np,1≤Nmin≤Nmax≤Nps,0≤Nps≤Np,随机选择列表为空列表;
S502:根据所述小类样本的数量Np确定一个最小采样数Nmin
S503:计算Nmax=[Nps÷j]×2,获得每次随机采样的最大值;
S504:在所述最小采样数为Nmin与所述最大采样数为Nmax之间随机生成本次采样数m,放入列表所述random_select中;
S505:计算j=j-1,Nps=Nps-m;
S506:进行判断,如果j=1,则将Nps放入至所述random_select中,并结束步骤S506,执行后续步骤;否则,重复步骤S503- S505的操作步骤;
S507:根据所述random_select,采用有放回的随机采样,生成所述小类子样本集Xpi
CN202310883350.6A 2023-07-19 2023-07-19 基于随机森林的不平衡数据采样方法及装置 Pending CN116628600A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310883350.6A CN116628600A (zh) 2023-07-19 2023-07-19 基于随机森林的不平衡数据采样方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310883350.6A CN116628600A (zh) 2023-07-19 2023-07-19 基于随机森林的不平衡数据采样方法及装置

Publications (1)

Publication Number Publication Date
CN116628600A true CN116628600A (zh) 2023-08-22

Family

ID=87602834

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310883350.6A Pending CN116628600A (zh) 2023-07-19 2023-07-19 基于随机森林的不平衡数据采样方法及装置

Country Status (1)

Country Link
CN (1) CN116628600A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117092446A (zh) * 2023-10-20 2023-11-21 国网山东省电力公司嘉祥县供电公司 一种电力输电线路故障检测方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117092446A (zh) * 2023-10-20 2023-11-21 国网山东省电力公司嘉祥县供电公司 一种电力输电线路故障检测方法及系统

Similar Documents

Publication Publication Date Title
CN108710613B (zh) 文本相似度的获取方法、终端设备及介质
JP6402265B2 (ja) 意思決定モデルを構築する方法、コンピュータデバイス及び記憶デバイス
CN104067282B (zh) 状态机晶格中的计数器操作
CN109446430A (zh) 产品推荐的方法、装置、计算机设备及可读存储介质
CN105988889B (zh) 一种数据校验方法及装置
JP2018173890A (ja) 情報処理装置、情報処理方法、及びプログラム
CN108256164A (zh) 状态机晶格中的布尔逻辑
CN108959474B (zh) 实体关系提取方法
TW201833851A (zh) 風控事件自動處理方法及裝置
CN109948680A (zh) 病历数据的分类方法及系统
Kim et al. Label-preserving data augmentation for mobile sensor data
CN113255328B (zh) 语言模型的训练方法及应用方法
CN116628600A (zh) 基于随机森林的不平衡数据采样方法及装置
CN112131322A (zh) 时间序列分类方法及装置
CN112559978B (zh) 基于动态胎记的多线程程序抄袭检测方法及相关设备
CN111358430B (zh) 一种磁共振成像模型的训练方法及装置
CN111222558B (zh) 图像处理方法及存储介质
US10997497B2 (en) Calculation device for and calculation method of performing convolution
CN107665443B (zh) 获取目标用户的方法及装置
CN110879832A (zh) 目标文本检测方法、模型训练方法、装置及设备
CN110544166A (zh) 样本生成方法、装置及存储介质
CN115115901A (zh) 获取跨域学习模型的方法及装置
David et al. Authentication of Vincent van Gogh’s work
CN117319091B (zh) 基于深度学习的企业软件网络安全漏洞检测方法及系统
CN113641964B (zh) 重打包应用检测方法、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination