1.一种基于Spark大数据平台的三支决策不平衡数据过采样方法,其特征在于,包括以下步骤:
1)、在数据预处理阶段,获取并存储需要采样的样本集,对整个样本使用Spark进行数据变换,得到归一化的LabeledPoint格式
2)、训练集划分阶段,采用Spark进行数据变化,求样本间的距离,确定领域半径,最后根据邻域三支决策模型将整个训练集中的样本划分成正域样本,边界域样本和负域样本;
3)、采样阶段,首先利用Spark进行数据变换得到边界域中每个小类样本的K近邻,然后插值采样,对负域中的样本通过放大负域中小类样本的邻域半径,筛选非噪声点,进行过采样处理操作:对每个非噪声点找到距离其最近的小类样本,在以两者距离为邻域半径的邻域内合成K个新的小类样本点;
4)、训练验证阶段,选取训练器进行训练验证,对采样前和采样后的实验结果对比。
2.根据权利要求1所述的基于Spark大数据平台的三支决策不平衡数据过采样方法,其特征在于,所述步骤1)获取并存储需要采样的样本集,对整个样本使用Spark进行数据变换,得到归一化的LabeledPoint格式
3.根据权利要求2所述的基于Spark大数据平台的三支决策不平衡数据过采样方法,其特征在于,所述步骤2)中采用Spark进行数据变化,求样本间的距离具体包括:首先,定义广播变量bc,即利用SparkContext对象的BroadCast算子将RDD作为广播变量广播到每个计算节点上;然后RDD调用mapPartitions算子,计算每个Partition上的样本与广播变量中样本全集的欧式距离,将RDD转化成
4.根据权利要求3所述的基于Spark大数据平台的三支决策不平衡数据过采样方法,其特征在于,所述步骤2)确定领域半径包括:首先对转化后的RDD,调用GroupBy算子,对所有样本根据xi标号进行聚合,其次,将聚集的结果调用SortBy算子,根据xi与xj的距离大小排序,然后调用mapPartitions算子,对每个Partition中的样本根据邻域半径的公式,计算样本xi的邻域半径ri,然后调用Filter算子,选择xj与xi的距离小于ri的样本xj,距离小于ri代表该样本xj落在了xi的邻域范围内;经过一系列的转化将RDD转化成
5.根据权利要求4所述的基于Spark大数据平台的三支决策不平衡数据过采样方法,其特征在于,步骤2)中根据邻域三支决策模型将整个训练集中的样本划分成正域样本,边界域样本和负域样本包括以下步骤:首先根据数据转化后的RDD,根据xi的标号,调用GroupBy算子,对样本根据xi的标号进行聚合,然后将聚集的结果调用MapPartitions算子,统计每个Partition中xi样本的邻域半径范围内大类样本个数和小类样本的个数,从而根据邻域三支决策模型确定正域样本,边界域样本和负域样本;经过一系列的转换,RDD转化为
6.根据权利要求5所述的基于Spark大数据平台的三支决策不平衡数据过采样方法,其特征在于,步骤3)利用Spark进行数据变换得到边界域中每个小类样本的K近邻,然后插值采样包括步骤:对转化后的type_RDD,调用Filter算子,选择xi的类别为小类样本1且xi的类型为边界域样本2的记录,定义为新的BND_RDD;然后与持久化在内存中的RDD进行join操作,筛选得到属于边界域的小类样本,然后调用Map算子,最终得到
7.根据权利要求5所述的基于Spark大数据平台的三支决策不平衡数据过采样方法,其特征在于,步骤3)对负域中的样本通过放大负域中小类样本的邻域半径,筛选非噪声点,进行有选择过采样包括步骤:对转化后的type_RDD,调用Filter算子,选择xi的类别为小类样本1且xi的类型为负域样本3的记录,定义为新的NEG_RDD;然后与持久化在内存中的RDD进行join操作,筛选得到属于负域的小类样本;然后调用Map算子,最终得到
8.根据权利要求7所述的基于Spark大数据平台的三支决策不平衡数据过采样方法,其特征在于,选取训练器进行训练验证,将训练集和NewSimpleSet合并为新的训练集,选择C4.5、CART、SVM在内的分类器进行验证。
9.根据权利要求1所述的基于Spark大数据平台的三支决策不平衡数据过采样方法,其特征在于,所述步骤1)存储需要采样的样本集由HDFS自动进行分布式存储。