一种保证质量单调性的大规模数据挖掘方法

文档序号:8339720阅读:188来源:国知局
一种保证质量单调性的大规模数据挖掘方法
【技术领域】
[0001] 本发明涉及一种高效处理数据的方法,通过该方法来保证大规模数据挖掘结果质 量的单调性,属于数据挖掘、大数据和计算机软件的交叉技术应用领域。
【背景技术】
[0002] 大数据的数据容量及类型多样性,使得我们愿意利用算法产生近似结果来对大数 据进行数据挖掘,传统的算法在进行有限的时间及资源限制下对大数据挖掘时,很难做到 挖掘结果的质量与资源限制的平衡以及保证近似结果质量单调性的问题。为解决这个问 题,我们在香农熵的基础上,设计保证质量单调性的大数据挖掘方法,该挖掘方法分为两部 分:编码部分及挖掘部分,通过保证算法编码部分熵的单调性及挖掘部分的保熵性来确保 挖掘算法输出近似结果质量的单调性,原始数据集用PCA技术压缩处理后映射到R-tree数 据结构上的K近邻分类的思想。该算法的编码部分利用R-tree来表示数据,它将数据中 有相似性的数据组合在一起,作为R-tree的一个结点,并尽量做到同节点内数据的高相似 性,不同节点间的相对独立性,以达到对海量数据压缩的目的并提高挖掘部分的效率。挖掘 部分利用K近邻分类算法的思想,处理数据,建立数据分类模型,并对测试数据进行分类。
[0003] 数据挖掘是数据库知识发现(英语:Knowledge_Discovery in Databases,简称: KDD)中的一个步骤。数据挖掘一般是指从大量的数据中自动搜索隐藏于其中的有着特殊 关系性的信息的过程。数据挖掘的一般步骤:(1)数据清理(2)数据集成(3)数据选择(4) 数据变换(5)数据挖掘(6)模式评估(7)知识表示。本发明使用的处理技术为主方法分析 (PCA)技术。该技术方法通过减少数据的属性来达到压缩数据的目的,移除不重要的属性。 这种方法通过移除不重要的部分,保留重要部分来对海量数据压缩,以便提高挖掘效率。
[0004] 信息论中,熵表示的是不确定性的量度。信息熵可以理解成某种特定信息的出现 概率(离散随机事件的出现概率)。一个系统越是有序,信息熵就越低;反之,一个系统越 是混乱,信息摘就越高。信息摘的函数说明:H = entropy (P,r)为信息j:商函数P为信源的 概率矢量,r为进制数,H为信息熵。本发明中将信息熵用于R树上,且定义如下:设R-tree 为T,同层节点对应一条编码CodeA不同层节点生成编码集,如果编码集中任意两条编码A, B都满足if A < B,then A(X) < B(x),那么编码集单调,即该编码集满足熵的单调性。

【发明内容】

[0005] 技术问题:本发明的目的是解决在计算机资源和内存有限的条件下大规模数据挖 掘输出结果质量的低效问题,该方法能够通过保证编码阶段熵的单调性和挖掘阶段的保熵 性来确保挖掘质量的单调性,提高数据挖掘的输出质量。
[0006] 技术方案:本发明所述的保证质量单调性的大数据挖掘方法包括编码、挖掘等两 个部分,其中编码部分利用主成分分析(PCA)压缩技术对数据进行压缩,减少数据的属性; 压缩处理后的数据用R树表示,挖掘部分利用K最近邻(KNN)算法对测试数据进行分类,并 计算分类准确率。
[0007] 本发明所述的保证质量单调性的大数据挖掘方法包括以下步骤:
[0008] 步骤1)获得用户输入的待进行挖掘的数据,数据的格式为表格的形式,一行为一 条数据记录,一列为一个属性,所述的数据由数据记录组成,每个数据项有P个属性,将这P 个属性表示为P个变量[Xl,x2, ...,Xp],有个η数据记录p个属性的数据集表示为:
[0009]
【主权项】
1. 一种保证质量单调性的大规模数据挖掘方法,其特征在于该方法包括以下步骤: 步骤1)获得用户输入的待进行挖掘的数据,数据的格式为表格的形式,一行为一条数 据记录,一列为一个属性,所述的数据由数据记录组成,每个数据项有P个属性,将这P个属 性表示为P个变量[ Xl,χ2, ...,Xp],有个η数据记录p个属性的数据集表示为:
将该数据集按照用户指定的比例分为训练集和测试集两部分,所述的训练集是数据 记录的集合,当训练集中的数据项数量为η,该训练集表示为[X1, X2, ...,ΧηΓ\其中Xi = [xn,xi2, ···,xip] i = 1,... η ;所述训练集和测试集的比例根据用户的要求划分,经验上是 训练集取总样本的80%到90%之间的任意一个值,输入数据中训练集之外的部分为测试 集, 步骤2)对训练集进行编码,具体步骤如下:
步骤21)利用主成分分析PCA方法对训练集进行预处理,获得训练子集X,具体过程如 下: ① 对原始数据集X进行标准化处理,标准化的过程按照下式进行 = 1,2,…,ρ ;j = 1,2, ...η ο 式中,标准化后的矩阵用" "标记,其中,i
1,2,…,p ;j = 1,2, ...η 原始数据标准化后计算得到:
② 计算样本相关系数矩阵:
,根据原始数据标准化得到的X*,样本相关系数为: j = 1,2, ...ρ ; ③ 求相关系数矩阵R的特征值(X1, λ2, λρ)和相应的特征向量ai= (an,ai2,…,aip) i = 1,2,…,ρ ; ④根据贡献率
志取最大的前m个的贡献率较大的主要属性Xi,…,x m, 其中m < p,将该m个属性作为训练数据集新的属性,并形成训练子集,将原始数据集表示为
的形式; 所述的主成分分析是将原有的多个属性转化成少数具有代表性的综合属性,这几个少 数属性能够反映原来数据的大部分信息,并且各个属性之间保持独立; 步骤22)将训练子集上的数据映射到R树的数据结构上,具体过程如下: ① 将训练子集中的每个数据表示为一条记录,并将属性作为记录字段存放在数据库 中,尽可能将属性值接近的对象存放在数据库相近位置; ② 根据数据库中存放的数据记录从空树开始构建R树,从根节点r开始,根据插入数据 对象后其最小包围矩形MBR面积增加量最小的原则,插入r的临近点作为r的子节点加入 R树,成为R树的第二层, ③ 重复该过程直到训练子集上的所有数据都在在R树上为止,所述的R树为一个高度 平衡树,用空间对象的MBR来近似表达空间对象,根据MBR建立R树,直接对空间中占据一 定范围的空间对象进行索引,R树的每个结点对应着数据库中的数据; 步骤23)将R树上的同层所有节点用一个二进制编码(0,1)的一串数字a表示,将R 树转化为一组二进制编码集{a,…,tr··}; 所述编码的规则为:同层节点数越多的相应二进制编码值大,二进制编码集中元素的 个数与R树的层数相等; 步骤24)判断编码是否满足熵的单调性 选取步骤23)生成的任意多条编码值,选取其中的两条a,b,选取条件是a <b,比较 H(S|C = C(S = s,a))与 H(S|C = C(S = s,b))两者大小,并得到结果 H(S|C = C(S = s,a)) >=H(S|C = C(S = s,b))。根据熵的单调性可判断该部分编码值满足该性质; 所述熵的单调性为:假设给定一个数据集S及其上的一个数据s,如果对于任意两 个编码值 a < b,H(S|C = C(S = s,a)) > = H(S|C = C(S = s,b))即 R(C(S = s,1))〈 =R(C(S = s,1')),则证明满足熵的单调性;所述H(S|C = C)为条件熵H(S|C = C)= H(SC) -H(C),丑(W) = )/印(H),P为概率;S为数据集;C为编码集,C为 编码集中一条编码值;(R(c))为值的分辨率量度,且R(c) =H(S)-H(S|C = C)); 步骤3)获取步骤23)中二进制编码值最大a,对训练数据进行挖掘; 步骤31)选定测试集中的一个数据q ; 步骤32)求得q = (m,η)与每个训练样例z (X,y) e…D之间的距离计算采用欧式距 离计算方法,= +X2,选取其中与测试数据q点带权路径最短的k个数据; 所述的k值选取利用k交叉验证的方法选择合适的k值,k交叉验证是一种有效使用 现有数据集的方法,将数据集分为大小相等的k份,每份轮流作为验证集,其他k-1份则作 为训练集的验证方法; 步骤33)分别求得k个数据中属同一类别的数据的个数II1, ···&,其中O < P < k+Ι,然 后依次比较Ii1,…np的大小,获得其中的最大值n m,其中O < m < p+1,测试样例q的类标号 由距离加权表决:q'= Mg max tu,.,>',_) e Dz , u'广/(V = .V,),根据求得的包含最多数据点q' 的数据类别,对测试数据q的类别进行预测,并将q的类别判定为包含数目最多的数据q' 的类别类型,所述的加权为:一般的距离权值Wi和距离成反比关系,用公式^= l/d(m,x) 2 计算,其中d(m, X)2用欧式距离的计算方法来计算; 步骤4)选取步骤23)生成的两条编码值a,b,根据步骤24)得到结果H(S|C = C(S = s,a)) >=H(S|C = C(S = s,b));分别求取 H(OR|AR = M(a))及 H(OR|AR = M(b))的值, 通过比较两者值的大小得到结果H (OR I AR = M (a)) > = H (OR I AR = M (b)),根据保熵性可判 断该部分满足其性质; 所述的保熵性描述为:假设给定一个数据集S,如果对于任意两个长度的编码值a < = b,假设 H(S|C = a) >=H(S|C = b)即 R(a) <=R(b),若 H(0R|AR = M(a)) >=H(0R|AR = M(b))即Q(M(a)) <=Q(M(b)),则证明挖掘部分满足保熵性。上述的M(C)为挖掘函数, 输入编码值C输出近似结果;OR为挖掘输出的最优结果;AR为输出的近似结果;Q(ar)为挖 掘结果质量测量的测量方法;Q (ar) = H (OR)-H (OR |AR = ar),ar为近似结果AR的某个值; 步骤5)根据公式
【专利摘要】本发明给出一种保证质量单调性的数据挖掘方法,该方法将原始大数据集用PCA技术压缩处理后映射到R-tree数据结构上;然后改进的K近邻分类算法对数据集进行挖掘处理。本发明给出的方法主要包含两部分:编码部分及挖掘部分,其中编码部分利用R-tree来表示数据,它将数据中有高相似性的数据组合在一起,作为R-tree的一个结点,以达到对海量数据压缩的目的并提高挖掘部分的效率;挖掘部分利用改进的K近邻分类算法的思想,对数据结点进行处理,预测输入的测试点分类。本发明能解决传统的算法在进行有限的时间及资源限制下对大数据挖掘时,很难做到挖掘结果的质量与资源限制的平衡以及保证近似结果质量单调性的问题。
【IPC分类】G06F17-30
【公开号】CN104657473
【申请号】CN201510080263
【发明人】陈志 , 党凯乐, 岳文静, 黄继鹏, 芮路
【申请人】南京邮电大学
【公开日】2015年5月27日
【申请日】2015年2月13日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1