也就是越准确的,本发明中采 用分割一部分数据集作为测试集的方法测试分类模型的精度;
[0037] 2、计算效率:由于数据量非常巨大,导致算法的时间和空间复杂度也非常高,高效 的计算式分类效率的保证;
[0038] 3、模型描述的简洁度:对模型的描述应易于被研究人员理解和使用。
[0039] 相较于现有技术,本发明提供的一种基于预测关系的离散贝叶斯网络分类数据挖 掘方法的有益效果是:结合Hadoop平台处理海量数据的优势,利用海量数据根据实际需要 训练贝叶斯网络分类模型,对初选预测因子和目标因子进行相关性分析,只有判定两者相 关时才被作为预测因子,这样不仅可以使分类预测结果更加可靠,而且可以节约资源,提高 预测精度算法的效率。
【附图说明】
[0040] 图1是本发明基于Hadoop构建贝叶斯网络分类器的数据挖掘方法的步骤示意图。
[0041] 图2是本发明基于Hadoop构建贝叶斯网络分类器的数据挖掘方法的具体程序流 程图。
【具体实施方式】
[0042] 下面将结合附图对本发明的实施方式进行详细描述。
[0043] 请参阅图1,是本发明基于Hadoop构建贝叶斯网络分类器的数据挖掘方法的步骤 示意图。主要步骤为:获取原始数据对它进行去除无效数据和离散化等处理后,分为训练 集、验证集和测试集三部分,且这三部分是相互独立的,对训练集运行相关分析算法和贝叶 斯网络分类算法得到初始分类模型,利用验证集对初始分类模型进行修剪路径优化,得到 相对较优的分类模型,利用测试集对得到的相对较优的贝叶斯网络分类器进行精度评估, 如果精度没有达到期望值,仍需重新优化分类模型。
[0044] 请参阅图2,是本发明基于Hadoop构建贝叶斯网络分类器的数据挖掘方法的具体 程序流程图。预处理、相关分析、模型训练和精度评估四大过程,它们是顺序执行的,后一次 过程都依赖于前一次执行的结果,一次MapReduce过程无法完成任务。因此将四大过程任 务串起来,将预处理MapReduce和模型训练MapReduce后的结果分别存储为中间数据,四个 过程顺序组合的MapReduce作业共同完成任务。具体过程包括:
[0045] 1、对原始数据进行预处理,以去掉不正确或被损坏的无效数据和离散化原始数 据,将数据分为训练集、验证集和测试集三部分;
[0046] 2、根据1中的训练集,初步选定一些可能与目标因子具有相关性的预测因子,在 Hadoop平台上运行相应的MapReduce程序,计算各个预测因子和目标因子之间的相关系数 ,并设定临界值a,若yi>a,保留该预测因子,否则去掉该预测因子;
[0047] 3、根据2中保留的预测因子,在Hadoop平台上运行相应的MapReduce,计算任意 两个因子(预测因子和目标因子)之间的预测能力,根据预测能力确定初始贝叶斯网络结 构;
[0048] 4、根据3中初始贝叶斯网络结构以及验证集,在Hadoop平台上运行相应的 MapReduce程序,计算预测因子组与目标因子之间的预测能力,不断迭代修剪路径,调整贝 叶斯网络的结构,并进行环路检验,获得相对较优的几个贝叶斯网络结构;
[0049] 5、根据4中相对较优的几个贝叶斯网络结构以及测试集,在Hadoop平台上运行相 应的MapReduce程序,进行精度评估,不满足精度返回执行4,直到获得满足精度的最优贝 叶斯网络结构;
[0050] 虽然结合附图描述了本发明的实施方式,但是本领域内熟练的技术人员可以在所 附权利要求的范围内做出各种变形或修改。
【主权项】
1. 一种基于预测关系的离散贝叶斯网络分类数据挖掘方法,采用了在Hadoop平台上 运行相应的MapReduce程序,从海量数据中计算属性变量之间的预测能力来确定贝叶斯网 络的初始结构,不断迭代优化进而得到最优贝叶斯网络分类器,其特征在于,包括以下步 骤: 步骤Sl :对原始数据进行预处理,以去掉不正确或被损坏的无效数据和离散化原始数 据,将数据分为训练集、验证集和测试集三部分; 步骤S2 :根据步骤Sl中的训练集,初步选定一些可能与目标因子具有相关性的预测因 子,在Hadoop平台上运行相应的MapReduce程序,计算各个预测因子和目标因子之间的相 关系数Y1,并设定临界值a,若Y 1S a,保留该预测因子,否则去掉该预测因子; 步骤S3 :根据步骤S2中保留的预测因子,在Hadoop平台上运行相应的MapReduce,计 算任意两个因子(预测因子和目标因子)之间的预测能力,根据预测能力确定初始贝叶斯 网络结构; 步骤S4 :根据步骤S3中初始贝叶斯网络结构以及验证集,在Hadoop平台上运行相应 的MapReduce程序,计算预测因子组与目标因子之间的预测能力,不断迭代修剪路径,调整 贝叶斯网络的结构,并进行环路检验,获得相对较优的几个贝叶斯网络结构; 步骤S5 :根据步骤S4中相对较优的几个贝叶斯网络结构以及测试集,在Hadoop平台 上运行相应的MapReduce程序,进行精度评估,不满足精度返回执行步骤S4,直到获得满足 精度的最优贝叶斯网络结构。2. 根据权利要求1所述的一种基于预测关系的离散贝叶斯网络分类数据挖掘方法,其 特征在于,该方法在Hadoop上利用其分布式文件系统HDFS和MapReduce并行编程模型来 实现。3. 根据权利要求1所述的一种基于预测关系的离散贝叶斯网络分类数据挖掘方法,其 特征在于,该方法对原始数据进行预处理,以去掉不正确或被损坏的无效数据和离散化原 始数据,将数据分为训练集、验证集和测试集三部分,三个数据集必须保持独立性。4. 根据权利要求1所述的一种基于预测关系的离散贝叶斯网络分类数据挖掘方法,其 特征在于,该方法判断初选预测因子与目标因子之间的相关性来确定预测因子集。5. 根据权利要求1所述的一种基于预测关系的离散贝叶斯网络分类数据挖掘方法,其 特征在于,该方法对训练集运行MapReduce程序,获得任意两个因子(预测因子和目标因 子)之间的预测能力,得到初始贝叶斯网络分类模型。6. 根据权利要求1所述的一种基于预测关系的离散贝叶斯网络分类数据挖掘方法,其 特征在于,该方法对训练集运行MapReduce程序,获得预测因子组与目标因子之间的预测 能力,不断迭代修剪路径,调整贝叶斯网络的结构,并进行环路检验,获得相对较优的几个 贝叶斯网络结构。7. 根据权利要求1所述的一种基于预测关系的离散贝叶斯网络分类数据挖掘方法,其 特征在于,该方法对测试集运行MapReduce程序,进行精度评估,不断迭代,直到获得满足 精度的最优贝叶斯网络结构。
【专利摘要】公开了一种基于预测关系的离散贝叶斯网络分类数据挖掘方法。本方法采用了在Hadoop平台上运行相应的MapReduce程序,利用相关系数分析初选预测因子和目标因子之间的相关性来选取预测因子,利用因子(预测因子和目标因子)之间的预测能力确定初始贝叶斯网络的结构,根据变量组对单一变量的预测能力,增加丢失的路径、删除多余的路径,并进行环路检验,获得几个相对较优的贝叶斯网络分类器,再在此基础上进行精度评估,获得满足期望的最优贝叶斯网络分类器。结合了Hadoop平台处理海量数据的优势,通过现有数据集去构建贝叶斯网络分类器,同时对选取的预测因子和目标因子进行相关分析,不仅实现了训练贝叶斯网络模型的灵活性,而且大大提高了预测精度和算法效率。
【IPC分类】G06F17/30
【公开号】CN105022798
【申请号】CN201510374515
【发明人】孙靖, 张永军
【申请人】北京邮电大学
【公开日】2015年11月4日
【申请日】2015年6月30日