数据挖掘在煤矿事故信息处理中的应用.doc
数据挖掘在煤矿事故信息处理中的应用 摘要关联规则是数据挖掘知识模式中非常重要的一项任务,目的就是发现所有项目集中 的频繁项,本文通过构建煤矿事故信息处理模型并将关联规则应用在煤矿事故信息处理平台 中,对数据库中大量的事故信息进行数据挖掘并运用Apriori 算法找出频繁项,可以有效发 现数据库中大量事故信息各个数据项的关联程度并进一步发现各个数据项的联系,对事故预 测有一定的意义。 关键词数据挖掘;关联规则;频繁项;Apriori 中图分类号TP311 1. 前言 长期以来我国煤矿生产安全工作并不理想,全国煤矿安全生产形势一直十分严峻,煤矿 事故频繁。然而,面对众多的煤矿事故信息却没有行而有效的研究方法。尤其是近年来,以 数据库和信息技术的发展为技术保障,以计算机硬件、数据收集设备和存储介质的大量供应 为物质基础,人们的数据收集能力得到了大幅的提高,煤炭行业存储了大量的有关生产、管 理和科研的各种信息。为从海量的数据存储中抽取模式、找出数据变化的规律和数据之间的 相互关系,充分发掘数据的潜力,以指导决策和科学发现等各项工作,人们对数据分析并使 之转化为易于理解的知识的需求越来越迫切。 数据挖掘 Data Mining技术迎合了人们的需求。数据挖掘是一门汇集统计学、机器学 习、数据库、模式识别、知识获取、专家系统、数据可视化和高性能计算等多种学科的新兴 交叉学科,,可以从海量的数据集合中抽取隐含的、先前未知的、对决策有潜在价值的规则。 数据挖掘的主要类型有关联规则、序列模式、分类以及聚类等。而关联规则是数据挖掘中的 一个非常重要的研究课题,也是目前应用比较广泛的一种数据挖掘类型[1]。 2. 关联规则 2.1 关联规则定义 关联规则association rule主要是在大量的资料中找寻出不同项目集合间的交互关系,最 常见的是在便利商店中的「牛奶→面包」Support3,Confidence60的例子,并藉由 支持度Support及置信度Confidence这两个参数避免找出太多没有代表性或是不具意义的 法则。关联规则association rule的形式为X → Y,其中X、Y ⊂ I,且X ∩ Y Φ。每一条 规则rule有一强度的度量单位为置信度Confidence,而Confidence X → Y Support X ∪ Y , D / Support X , D 。依照条件机率,若某关联规则的信赖度超过一定限度时,其意 义为若此交易包含X,有很高的机率会包含Y。因此,挖掘关联规则也就是要找出所有X → Y 形式的关联规则,并且满足下列条件Support X ∪ Y , D ≥ Min_Support 且Sonfidence X → Y ≥ Min_Confidence[2]。 2.2 关联规则挖掘步骤 关联规则挖掘就是在事务数据库D中找出满足用户给定的最小支持度minsup 和最小置 信度minconf 要求的关联规则,整个挖掘过程可分解为以下两步 1找出事务数据库D 中所有支持度大于等于用户指定最小支持度的项目集。支持度不 小于最小支持度的项目集称为频繁项目集,而对某一频繁项目集,若其所有超集的支持度都 小于最小支持度阈值,则称该项目集为最大频繁项目集。 2利用频繁项目集生成所需要的关联规则。对每一个频繁项目集A,找到A 的所有非 空子集a , 如果比率supportA/supporta≥minconf , 就生成关联规则a A-a , supportA/suporta即规则a A-a的置信度。 目前有很多产生频繁项目集的算法,这些算法产生频繁k-项集时,扫描数据库的每个 事务用以统计这些候选k-项集的支持度,并按照事务数确定的最小支持度在第k 次迭代时 找出所有频繁k-项集。然而,由于数据库的规模通常是非常大的,所以在每次迭代时产生 候选项目集以统计其支持度是非常耗时的。因此,寻求频繁项目集的有效产生算法是问题的 关键。事实上,在挖掘关联规则的整个执行过程中第一个子问题是核心问题,而第二个子问 题相对较为简单。 因此,大多数关联规则挖掘算法通常采用的一种策略是,将关联规则挖掘任务分解为 如下两个主要的子任务(1)频繁项集产生其目标是发现满足最小支持度阈值的所有项 集,这些项集称作频繁项集。(2)规则的产生其目标是从上一步发现的频繁项集中提取 所有高置信度的规则,这些规则称作强规则[3]。 3. 算法研究 单维、单层、布尔关联规则挖掘是最简单形式的关联规则挖掘,其中最著名最有影响 的是由Agrawal 等人提出的Apriori 算法。该算法是挖掘产生布尔关联规则频繁项目集的经 典算法,从其产生到现在对关联规则挖掘方面的研究有着很大的影响。该算法利用一个逐层 搜索的迭代方法来完成频繁项目集的挖掘,这一迭代方法就是利用k-项目集来产生kl-项 目集。具体的做法如下首先找出频繁1-项目集,记为L1;然后利用L1 来挖掘L2,即频繁 2-项目集;如此不断地循环下去直至不能找到频繁k-项目集为止,其中在发现每个Lk 的过 程中需要对整个事务数据库扫描一遍[4]。 算法Apriori 详细描述如下 输入事务数据库D,最小支持度阂值minsup。 输出D 中的频繁项集L 方法 1Ltsearch_frequent_l-itemsetD; 产生频繁n-项目集 2fork2;Lk-1≠Φkdo 3begin 4Ck即Apriori-genLk-1; 5for all transactions t∈D do 6begin 7CtsubsetCk,t; 8for all candidates c∈Ct do 9c.count; 10end 11Lk{c∈Ck|c.count≥minsup} 12end 13Answer LUkLk; 产生频繁1-项目集 Procedure Search_frequent_1-itemsetD 1begin 2for all transactions t∈D do 3begin 4for each item ik∈t do 5ik.count 6end 7Ll{i∈I|i.count≥ minsup} 8retum L1; 9end 由频繁k-项目集生成侯选k1-项目集 Procedure Apriori-genLk 1begin 2for each itemset l1∈Lk do 3for each itemset l2∈Lk do 4begin 5 ifl1 [1]12[l」∧11[2]12[2]∧11[k-1]12[k-l]∧l1[k}最小支持度Minimun Support1,则该候选项目集合为高频项目 集合。步骤3首先由数据库读取所有的记录,求出候选C1 的支持度,再找出高频项目集合 L1,并利用这些高频项目集合的结合,产生候选C2。步骤4然后再SCAN 数据库,得出 C2 的支持度后,找出高频L2,并利用这些L2 的结合,产生候选C3。步骤5重复SCAN 数 据库,与最小支持度比较,产生高频项目集合,再结合产生下一级候选项目集合,直到不能 结合出产生新的候选项目集合为止。 4.2 模型的建立 Apriori 算法是一个关联规则挖掘算法,它开创性地使用基于支持度的剪枝技术,系统 的控制候选项集的指数增长,图1 给出Apriori 算法频繁项集产生部分一个模型。假定支持 度阈值是60,相当于最小支持度计数为3。 初始,每个项都被看做候选1-项集。对它们的支持度计数后,候选项集{刘店矿}和{机 电}被丢弃,因为它们出现的事物少于3 个。在下一次迭代,仅使用频繁1-项集来产生候选 2-项集,因为先验原理保证所有非频繁的1-项集的超集都是非频繁的。由于只有4 个频繁 1-项集,因此算法产生的候选2-候选项集的数目为C4 26。计算它们的支持度值后,发现这 六个候选项集中的两个,{杨柳矿,朱庄矿}和{杨柳矿,运输}是非频繁的。剩下的4 个候选 项集是频繁的,因此用来产生候选3项集。依据先验原理,只需要保留子集都频繁的候选 3-项集。具有这种性质的唯一候选是{朱庄矿,顶板,运输},因此这个组合可能为挖掘之关 联性。 图1 运用Apriori 算法构建单位事故类型关联模型 函数Apriori-gen 通过如下两个操作产生候选项集 (1)候选项集的产生。该操作由前一次迭代发现的频繁(k-1)-项集产生新的候选 k-项集。 函数Apriori-gen 的候选产生过程合并一对频繁(k-1)-项集,仅当它们的前k-2 个项都相同。令A{a1, a2,, ak-1}和B{b1, b2, bk-1}是一对频繁(k-1)-项集,合并A 和B,如果它们满足如下条件aibi i1,2,,k-2并且ak-1≠bk-1。在图3.4 中,频繁项 集{朱庄矿,顶板}和{朱庄矿,运输}合并,形成了候选3-项集{朱庄矿,顶板,运输}。算法 不会合并项集{杨柳矿,顶板}和{顶板,运输},因为它们的第一个项不相同。实际上,如果 {杨柳矿,顶板,运输}是可行的候选,则它应当由{杨柳矿,顶板}和{杨柳矿,运输}合并而 得到。由于每个候选都由一对频繁(k-1)-项集合并而成,因此,需要附加的候选剪枝步 骤来确保该候选的其余k-2 个子集是频繁的。 图2 通过合并一对频繁(k-1)-项集生成和剪枝候选k-项集 (2)候选项集的剪枝。该操作采用基于支持度的剪枝策略,删除一些候选k-项集。 候选项集的剪枝支持度计数过程确定在Apriori-gen 函数的候选剪枝步骤保留下来的 每个候选项集出现的频繁程度。在Apriori 函数中,使用Hash 数进行支持度计数,在Apriori 算法中,候选项集划分为不同的桶,并存放在Hash 树中。在支持度计数期间,包含在事务 中的项集也散列到相应的桶中。这种方法不是将事务中的每个项集与所有的候选项集进行比 较,而是将它与同一桶内候选项集进行匹配,如图3。 图3 使用Hash 树结构的项集支持度计数 4.3 事故信息处理及分析 数据挖掘模块如图4,该模块主要从数据表中挖掘频繁项集。 图4 数据挖掘页面 由结果可知,{朱庄矿,顶板,运输}为频繁项,此组合为挖掘之关联项。最终的频繁项 产生之后,事故的分析及预测就很容易挖掘出来。例如从{朱庄矿,顶板,运输}这个频繁项 中,可以得出如下结论在给出的大量事故信息数据中,朱庄矿较其它矿容易发生顶板事故 与运输事故,而顶板与运输可能也存在一定关联程度,应当将该矿的顶板与运输事故作为研 究对象进一步分析事故产生的原因,以减少或避免此类事故的发生,因为关联关系不代表因 果关系,关联只表示规则前件和后件中的项同时出现。因果关系需要关于数据中原因和结果 属性的知识,并且通常涉及长期的联系(例如,臭氧损耗导致全球变暖)。 5. 结语 通过对煤矿事故信息中关联规则的发现,以及算法的程序实现,可以发现事故信息各个 项之间的关联程度,也能发现隐藏的新规律,对于煤炭企业数据库中的大量事故信息中的知 识发现有着重要意义。有效地运用关联规则,是完成数据挖掘任务的一个重要手段,通过将 数据挖掘应用在煤矿事故信息处理平台中,对有效预防煤矿事故的发生有着积极的意义。 参考文献 [1] 冯建华,赖辉旻,周立柱,陆玉昌等.利用L1 为关联规则的采掘准备数据,计算机科学 [2] 蒋力.基于关联规则的数据挖掘算法及其应用.湖南中南大学,2007 [3] 陈安,周龙骧等,数据挖掘技术及应用.北京科学出版社,2006 [4] 美Pang-Ning Tan, 美Michael Steinbach, 美Vipin Kumar. 数据挖掘导论.北京人民邮电出版社,2006 [5] 冯国良.数据挖掘在信息管理系统中的应用研究.天津天津工业大学,2008 Data Mining in Coal Mine Accidents in the application of ination processing Wang Hongliang, Wu Jingjing, Du Mingdian School of Ination and Electrical Engineering of CUMT, Xuzhou, Jiangsu 221008 Abstract Knowledge of data mining association rules is a very important mode of a task, the purpose is to find all frequent items are concentrated in this paper by constructing coal mine accident ination processing model and association rules applied in coal mine accident ination processing plat, a large number of the database accident ination and use data mining Apriori algorithm to find frequent items can be effectively found a large number of accidents in the database of ination associated with each data item level, and further found that link the various data items on the accident prediction has a certain significance. Keywords Data Mining; association rule; frequent item; Apriori