1 关联规则的基本概念
1.1 关联规则的意义
世间万物的事情发生多多少少会有一些关联。一件事情的发生,很可能是也会引起另外一件事情的发生。或者说,这两件事情很多时候很大程度上会一起发生的。那么人们通过发现这个关联的规则,可以由一件事情的发生来,来推测另外一件事情的发生,从而更好地了解和掌握事物的发展,动向等等。这就是数据挖掘中,寻找关联规则的基本意义。
在高校教务管理中,我们也可以发现这样的规律。比如说,计算机学院的《C++程序设计语言》和《C程序设计语言》两门课程。一般大一的时候《C程序设计语言》拿优的学生,在大二学习《C++程序设计语言》的时候,多半也会拿优。而《C程序设计语言》不及格而补考的学生,在大二学习的《C++程序设计语言》课程里面,多半不会拿到优。道理很简单,因为《C程序设计语言》是《C++程序设计语言》的先行课程,如果没有良好的C语言功底,对于更加的复杂C++学习,肯定是很困难的。于是,这里就存在一个两门课程成绩的关联规则。
但是,我们也不能说,《C程序设计语言》不及格的学生,100%不会在其后的《C++程序设计语言》中拿到优。所以,从严谨的角度来阐述这条关联规则的时候,都是附带了规则发生的一系列概率参数。比如说,计算机学院02级里面10%的学生《C语言设计语言》和《C++程序设计语言》都拿到了优,而其中75%在《C程序设计语言》中拿到优的学生,在大二的《C++程序设计语言》课程中也拿到了优。由于我们不可能得到事情发生的概率,所以很多时候,我们都是以频率来接近概率。那么这条关联规则,可以阐述成:
C程序设计语言(优) à C++程序设计语言(优), support=10%, confidence=75%
其中,support代表支持度,confidence代表置信度。通过这两个参数,人们可以大致了解一条关联规则的作用于现实世界的情况和偏差等等。
数据挖掘技术中的关联规则挖掘是通过计算机自动从一大对真实数据中发现这样的关联规则出来。对于计算机而言,它需要知道所有的事情发生情况,并且把相应的事情合并成一个事务,通过对各个事务的扫描,来确定事情的关联规则。
1.2 关联规则的定义
设I={i1, i2,…, im}是项的集合,其中的元素称为项(item)。记D为事务(transaction)T的集合,这里事务T是项的集合,并且TÍI 。对应每一个事务有唯一的标识,如事务号,记作TID。设X是一个I中项的集合,如果XÍT,那么称事务T包含X。
一个关联规则是形如XÞY的蕴涵式,这里XÌI, YÌI,并且X