1.一种基于Spark内存计算大数据平台的CLR多标签学习分类方法,其特征在于,包括步骤:获取历史数据,转化成Spark平台的分布式数据集RDD;利用Spark的RDD构建训练集特征,将训练集特征与其对应的多标签结合;并行计算将多标签及其特征进行标签转化形成训练集组;从所有训练集组中随机取出一部分作为训练测试集,用训练集训练基分类器,用训练测试集对经过训练的基分类器进行预测结果分析和模型参数调整;将预测集中的每个数据样本在训练好的所有基分类器中进行预测,将预测结果转化为对应的标签,获得预测标签;转化预测标签并同类合并,投票选取标签预测结果,统一预测集特征与选取的标签,并保存结果。
2.根据权利要求1所述的方法,其特征在于,创建一个程序入口SparkContext对象负责连接Spark集群,创建分布式数据集RDD累积量和广播量,然后用SparkContext对象直接转化已读取的数据parallelize,根据数据集地址读取并转化数据集textFile函数将读取的数据转化成Spark平台的分布式数据集RDD,该分布式数据集可以被并行操作。
3.根据权利要求1所述的方法,其特征在于,将预测结果转化为对应的标签时,当多个预测结果对应预测集中样本的一个标签时,采用投票的方式选取统计数量最多的一个标签预测结果,如果统计数量相同,对标签预测结果采用RPC转化获得奇数个标签预测结果,再采用投票的方式选取统计数量最多的一个标签预测结果,合并特征和对应的标签预测结果,得到预测结果。
4.根据权利要求1所述的方法,其特征在于,训练基分类器具体包括:选取训练集;设定基分类器的初始参数;使用基分类器的初始参数进行模型的训练;将训练测试集进行分类器的预测并得出结果;将预测结果和真实结果进行比较得到评估指标,直到评估指标达到预定要求或达到预定迭代次数;选出评估指标最好的基分类器并保存该分类器。
5.根据权利要求2所述的方法,其特征在于,利用Spark的RDD并行操作分布式数据集RDD,将数据集RDD的数据分成多个块,并行处理数据块中的数据,将数据转化为数字型数据;选择数据特征值建立特征集,分离预测集和训练集,将训练集的特征和标签进行分离。
6.根据权利要求5所述的方法,其特征在于,所述将训练集的特征和标签进行分离具体包括:对多维数据特征进行广播变量,将标签变换保存到n*(n+1)/2个分区中,每个分区保存相同位置的标签,过滤不满足要求的标签,得到n*(n+1)/2个训练集,其中n为标签维度。
7.根据权利要求6所述的方法,其特征在于,将特征和标签(1,featuress,labels)转化为特征(1,featuress),标签(1,1,label1),(1,2,label2),(1,3,label3),……(1,n*(n+1)/
2,labeln*(n+1)/2),其中,features表示某个样本所有的特征,labels表示某个样本所有的标签,labeli表示某个样本的第i个标签,n表示标签的维数。