应用数据挖掘的apriori关联规则技术分析报告

上传人:xmg****18 文档编号:121235817 上传时间:2020-02-19 格式:DOC 页数:17 大小:247.50KB
返回 下载 相关 举报
应用数据挖掘的apriori关联规则技术分析报告_第1页
第1页 / 共17页
应用数据挖掘的apriori关联规则技术分析报告_第2页
第2页 / 共17页
应用数据挖掘的apriori关联规则技术分析报告_第3页
第3页 / 共17页
应用数据挖掘的apriori关联规则技术分析报告_第4页
第4页 / 共17页
应用数据挖掘的apriori关联规则技术分析报告_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《应用数据挖掘的apriori关联规则技术分析报告》由会员分享,可在线阅读,更多相关《应用数据挖掘的apriori关联规则技术分析报告(17页珍藏版)》请在金锄头文库上搜索。

1、. . .应用数据挖掘的apriori关联规则技术分析交通事故唐丰飞 (1.北京交通大学软件学院 北京 100044) E-mail:摘要:随着我国道路交通事业的飞速发展,交通事故发生率呈上升趋势。由于交通事故的发生不仅造成大量人员伤亡,给无数家庭带来不幸,而且严重影响着经济发展和社会稳定,已引起了各级政府的高度重视和关注。人们在认为交通事故的发生具有一定规律性,而造成事故的原因又具有复杂性和多样性,本文根据数据挖掘技术中的关联规则理论,利用apriori关联规则挖掘算法,从记录交通事故的数据库中发现潜在的、有价值、有联系的规律,用以指导交通管理部门找出道路黑点,并做出决策,杜绝事故隐患、减少

2、事故发生,保障人们的生命和财产的安全。 关键词: 交通事故; 关联规则; 数据挖掘; 挖掘算法第1章 引言随着我国道路交通事业的飞速发展,交通事故猛增已成了交通管理所面临的严重问题。汽车交通作为人类文明的标志,彻底地改变了人类发展的历史进程,给人类以舒适和便捷等正面效应的同时也给人类生活带来一些负面效应,交通事故就是其中最严重、危害最大的负面效应之一。近年来在我国机动车数量快速增长的情况下,交通事故及伤亡人数呈不断上升趋势。因此结合数据挖掘技术研究我国道路交通事故,从记录交通事故的数据库中发现潜在的、有价值、有联系的规律,分析其成因具有非常重要的意义。 第2章关联规则的理论1关联规则的基本概念

3、:设I=i1,i2,.,im是项集,其中ik(k=1,2,m)可以是购物篮中的物品,也可以是保险公司的顾客。设任务相关的数据D是事务集,其中每个事务T是项集,使得TÍI。设A是一个项集,且AÍT。关联规则是如下形式的逻辑蕴涵:A Þ B,AÌI, AÌI,且AB=F。关联规则具有如下两个重要的属性:支持度: P(AB),即A和B这两个项集在事务集D中同时出现的概率。置信度: P(BA),即在出现项集A的事务集D中,项集B也同时出现的概率。同时满足最小支持度阈值和最小置信度阈值的规则称为强规则。给定一个事务集D,挖掘关联规则问题

4、就是产生支持度和可信度分别大于用户给定的最小支持度和最小可信度的关联规则,也就是产生强规则的问题。2 关联规则的分类: 1) 基于规则中处理的变量的类别,关联规则可以分为布尔型和数值型。布尔型关联规则处理的值都是离散的、种类化的,它显示了这些变量之间的关系。数值型关联规则可以和多维关联或多层关联规则结合起来,对数值型字段进行处理,将其进行动态的分割,或者直接对原始的数据进行处理,当然数值型关联规则中也可以包含种类变量。 2) 基于规则中数据的抽象层次,可以分为单层关联规则和多层关联规则。在单层关联规则中,所有的变量都没有考虑到现实的数据是具有多个不同的层次的。在多层关联规则中,对数据的多层性已

5、经进行了充分的考虑。 3) 基于规则中涉及到的数据的维数,关联规则可以分为单维的和多维的。在单维关联规则中,我们只涉及到数据的一个维,如时间。在多维关联规则中,要处理的数据将会涉及多个维,如时间,地点,产品。3关联规则的相关算法:关联规则的算法的思想,首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。挖掘关联规则的总体性能由第一步决定,第二步相对容易实现。下面看看几个经典的算法。1) Apriori核心算法分析为了生成所有频集,使用了递推的方法。其核心思想简要描述如下:(1)L1 = large 1-item

6、sets;(2)for (k=2; Lk-1¹F; k+) do begin(3)Ck=apriori-gen(Lk-1);/新的候选集(4)for all transactions tÎD do begin(5)Ct=subset(Ck,t);/事务t中包含的候选集(6)for all candidates cÎ Ctdo(7)c.count+;(8)end(9)Lk=cÎ Ck |c.count³minsup(10)end(11)Answer=kLk; 首先产生频繁1-项集L1,然后是频繁2-项集L2,直到有某个r值使得Lr为空,这时

7、算法停止。这里在第k次循环中,过程先产生候选k-项集的集合Ck,Ck中的每一个项集是对两个只有一个项不同的属于Lk-1的频集做一个(k-2)-连接来产生的。Ck中的项集是用来产生频集的候选集,最后的频集Lk必须是Ck的一个子集。Ck中的每个元素需在交易数据库中进行验证来决定其是否加入Lk,这里的验证过程是算法性能的一个瓶颈。这个方法要求多次扫描可能很大的交易数据库,即如果频集最多包含10个项,那么就需要扫描交易数据库10遍,这需要很大的I/O负载。可能产生大量的候选集,以及可能需要重复扫描数据库,是Apriori算法的两大缺点。为了提高算法的效率,Mannila等引入了修剪技术来减小候选集Ck

8、的大小MTV94,由此可以显著地改进生成所有频集算法的性能。算法中引入的修剪策略基于这样一个性质:一个项集是频集当且仅当它的所有子集都是频集。那么,如果Ck中某个候选项集有一个(k-1)-子集不属于Lk-1,则这个项集可以被修剪掉不再被考虑,这个修剪过程可以降低计算所有的候选集的支持度的代价。2) 基于划分的算法Savasere等设计了一个基于划分的算法。这个算法先把数据库从逻辑上分成几个互不相交的块,每次单独考虑一个分块并对它生成所有的频集,然后把产生的频集合并,用来生成所有可能的频集,最后计算这些项集的支持度。这里分块的大小选择要使得每个分块可以被放入主存,每个阶段只需被扫描一次。而算法的

9、正确性是由每一个可能的频集至少在某一个分块中是频集保证的。该算法是可以高度并行的,可以把每一分块分别分配给某一个处理器生成频集。产生频集的每一个循环结束后,处理器之间进行通信来产生全局的候选k-项集。通常这里的通信过程是算法执行时间的主要瓶颈;而另一方面,每个独立的处理器生成频集的时间也是一个瓶颈。3)FP-树频集算法针对Apriori算法的固有缺陷,J. Han等提出了不产生候选挖掘频繁项集的方法:FP-树频集算法。采用分而治之的策略,在经过第一遍扫描之后,把数据库中的频集压缩进一棵频繁模式树(FP-tree),同时依然保留其中的关联信息,随后再将FP-tree分化成一些条件库,每个库和一个

10、长度为1的频集相关,然后再对这些条件库分别进行挖掘。当原始数据量很大的时候,也可以结合划分的方法,使得一个FP-tree可以放入主存中。实验表明,FP-growth对不同长度的规则都有很好的适应性,同时在效率上较之Apriori算法有巨大的提高。4)多层关联规则挖掘对于很多的应用来说,由于数据分布的分散性,所以很难在数据最细节的层次上发现一些强关联规则。当我们引入概念层次后,就可以在较高的层次上进行挖掘。虽然较高层次上得出的规则可能是更普通的信息,但是对于一个用户来说是普通的信息,对于另一个用户却未必如此。所以数据挖掘应该提供这样一种在多个层次上进行挖掘的功能。 5)多维关联规则挖掘对于多维数

11、据库而言,除维内的关联规则外,还有一类多维的关联规则。例如:年龄(X,“20.30”) 职业(X,“学生”)= 购买(X,“笔记本电脑”)在这里我们就涉及到三个维上的数据:年龄、职业、购买。根据是否允许同一个维重复出现,可以又细分为维间的关联规则(不允许维重复出现)和混合维关联规则(允许维在规则的左右同时出现)。年龄(X,“20.30”) 购买(X,“笔记本电脑”) = 购买(X,“打印机”)这个规则就是混合维关联规则。在挖掘维间关联规则和混合维关联规则的时候,还要考虑不同的字段种类:种类型和数值型。 第三章 交通事故数据处理1需求理解由于涉及到交通管理信息积累的原始数据特别多,大多是存在于不

12、同的数据库中,甚至有些与交通安全相关的某些数据跨行业保存在其他行业的数据库中,如气象部门记录的天气气象数据,司机的详细信息存放在公安部数据库中,司机的身体状况可能存放在医院里,这些数据库大多是事务性的数据库,其中的数据各自独立、互不相关。数据挖掘的主题是从这些互不相关的数据中寻找出与交通事故相关的信息,导致交通事故发生的各种因素以及交通事故对各种因素的概率分布。2. 数据准备由于人的信息、车辆的信息、道路信息、天气信息、相关经济方面的信息、交通管理的信息、交通法规相关信息。这些信息的建设都是针对特定需求建立起来的事务性数据库,其中存放的数据往往不能直接用于挖掘主题的数据挖掘,必须进行必要的数据

13、预处理或数据准备,包括数据选择、净化、转换、数据缩减等工作,获取与挖掘主题直接相关的有效数据。数据准备是非常重要的一个步骤,将影响数据挖掘的效率和准确度以及最终模式的有效性。人的信息主要包过机动车驾驶员、乘车人、骑自行车人、行人等,其中公共属性包过姓名,性别,年龄,学历,籍贯等一些基本信息。机动车还包过驾龄、准驾车辆类别、驾驶证编号、发证机关等一些其他属性。车辆的信息主要包过车主身份证好,车主的名字,车主的联系方式,车辆的型号,车辆的类别,车辆的颜色,发动机型号,车架号,出厂时间,购买信息,使用年限,车辆用途,购买时间等。道路的信息包过道路编号,道路开通日期,道路状况,道路上的红绿灯编号,道路

14、上红绿灯的状态等。天气信息主要包过日期,地方,天气现象,最低温度,最高温度,风向,风力等信息。经济方面的信息主要包过事故发生区域,该地区的机动车销售量等信息。交通管理信息主要包过投入警力数,交通科学水平,各相关部门的管理等信息,管理决策者的信息,综合治理方面的信息。交通法规的信息包过交通法规的数量,交通法规相关惩罚力度,公民的自律性和安全行车意识等相关信息。3数据建模 根据上面的数据准备资料建立道路交通事故属性的数据模型:事故因素人的因素车辆因素道路因素经济因素天气因素其他因素姓名角色.机动车驾驶员骑自行车人.建立如下数据模型表事故数据信息表(accidentInfo):字段名称数据类型是否为空数据描述personchar(100)not null人vehiclechar(100)not null交通timechar(100)not null时间rodechar (100)not null路面情况economychar (100)not null经济weatherchar (100)not null天气otherchar (100)not null其它发生事故时间表accidentTime字段名称数据类型是否为空数据描述time_codechar(32)not null时间编号timechar(32)not null时间发生事故天气表(ac

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号