20090307113曹晨《数据挖掘》期末大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据挖掘原理、算法及应用
学号:
学生所在学院:信息工程学院
学生姓名:颜伟泰
任课教师:汤亮
教师所在学院:信息工程学院
2015年12月
12年级
决策树分类算法
颜伟泰
12软件(1)班
一、摘要
(一)、决策树算法简介:决策树算法是一种归纳分类算法,它通过对训练集的学
习,挖掘出有用的规则,用于对新集进行预测。决策树算法可设计成具有良好可伸
缩性的算法,能够很好地与超大型数据库结合,处理相关的多种数据类型,并且,
其运算结果容易被人理解,其分类模式容易转化成分类规则。
(二)、算法思想:该算法的基本思想是:首先找出所有的频集,这些项集出现
的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规
则必须满足最小支持度和最小可信度。然后使用第1步找到的频集产生期望的规
则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采
用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小
可信度的规则才被留下来。为了生成所有频集,使用了递归的方法。
(三)、算法运用领域:
(1)Apriori算法广泛应用于商业中,应用于消费市场价格分析中,它能够很快
的求出各种产品之间的价格关系和它们之间的影响。通过数据挖掘,市场商人可
以瞄准目标客户,采用个人股票行市、最新信息、特殊的市场推广活动或其他一
些特殊的信息手段,从而极大地减少广告预算和增加收入。百货商场、超市和一
些老字型大小的零售店也在进行数据挖掘,以便猜测这些年来顾客的消费习惯。
(2)Apriori算法应用于网络安全领域,比如时候入侵检测技术中。早期中大
型的电脑系统中都收集审计信息来建立跟踪档,这些审计跟踪的目的多是为了性
能测试或计费,因此对攻击检测提供的有用信息比较少。它通过模式的学习和训
练可以发现网络用户的异常行为模式。采用作用度的Apriori算法削弱了Apriori
算法的挖掘结果规则,是网络入侵检测系统可以快速的发现用户的行为模式,能
够快速的锁定攻击者,提高了基于关联规则的入侵检测系统的检测性。
(3)Apriori算法应用于高校管理中。随着高校贫困生人数的不断增加,学校
管理部门资助工作难度也越加增大。针对这一现象,提出一种基于数据挖掘算法
的解决方法。将关联规则的Apriori算法应用到贫困助学体系中,并且针对经典
Apriori挖掘算法存在的不足进行改进,先将事务数据库映射为一个布尔矩阵,
用一种逐层递增的思想来动态的分配内存进行存储,再利用向量求"与"运算,寻
找频繁项集。实验结果表明,改进后的Apriori算法在运行效率上有了很大的提
升,挖掘出的规则也可以有效地辅助学校管理部门有针对性的开展贫困助学工作。
(4)Apriori算法被广泛应用于移动通信领域。移动增值业务逐渐成为移动通
信市场上最有活力、最具潜力、最受瞩目的业务。随着产业的复苏,越来越多的
增值业务表现出强劲的发展势头,呈现出应用多元化、营销品牌化、管理集中化、
合作纵深化的特点。针对这种趋势,在关联规则数据挖掘中广泛应用的Apriori
算法被很多公司应用。依托某电信运营商正在建设的增值业务Web数据仓库平台,
对来自移动增值业务方面的调查数据进行了相关的挖掘处理,从而获得了关于用
户行为特征和需求的间接反映市场动态的有用信息,这些信息在指导运营商的业
务运营和辅助业务提供商的决策制定等方面具有十分重要的参考价值。
二、算法步骤
Apriori算法过程分为两个步骤:
第一步通过迭代,检索出事务数据库中的所有频繁项集,即支持度不低于用户设定的阈值的项集;
第二步利用频繁项集构造出满足用户最小信任度的规则。
具体做法就是:
首先找出频繁1-项集,记为L 1 ;然后利用L 1 来产生候选项集C 2 ,对C 2 中的项进行判定挖掘出L 2 ,即频繁2-项集;不断如此循环下去直
到无法发现更多的频繁k-项集为止。每挖掘一层L k 就需要扫描整个数据库一
遍。算法利用了一个性质:
Apriori 性质:任一频繁项集的所有非空子集也必须是频繁的。意思就是说,生成一个k-itemset的候选项时,如果这个候选项有子集不在
(k-1)-itemset(已经确定是frequent的)中时,那么这个候选项就不用拿去和支
持度判断了,直接删除。具体而言:
1)连接步
为找出L k (所有的频繁k项集的集合),通过将L k-1 (所有的频繁k-1项集的集合)与自身连接产生候选k项集的集合。候选集合记作C k 。设
l 1 和l 2 是L k-1 中的成员。记l i [j]表示l i 中的第j项。假
设Apriori算法对事务或项集中的项按字典次序排序,即对于(k-1)项集l i ,
l i [1] (l 1 [1]=l 2[1])&&( l 1 [2]=l 2 [2])&&……..&& (l 1 [k-2]=l 2 [k-2])&&(l 1 [k-1] l2 是可连接。连接l 1 和l 2 产生的结果是 {l 1 [1],l 1 [2],……,l 1 [k-1],l 2 [k-1]}。 2)剪枝步 C K 是L K 的超集,也就是说,C K 的成员可能是也可能不是频繁的。 通过扫描所有的事务(交易),确定C K 中每个候选的计数,判断是否小于最 小支持度计数,如果不是,则认为该候选是频繁的。为了压缩C k ,可以利用 Apriori性质:任一频繁项集的所有非空子集也必须是频繁的,反之,如果某个 候选的非空子集不是频繁的,那么该候选肯定不是频繁的,从而可以将其从 C K 中删除。 三、Apriori算法实例: