weka –Apriori算法 关联规则挖掘实验

 

一、Apriori算法参数含义

本次共进行了9组实验,使用了weka安装目录data文件夹下的contact-lenses.arff数据。

 

 

ToolsàArffViewer,打开contact-lenses,可以看到实验数据contact-lenses共有24条记录,5个属性值。具体内容如下:

 

 

结合实验结果阐释下列12个参数的含义

1.        car 如果设为真,则会挖掘类关联规则而不是全局关联规则。

2.        classindex 类属性索引。如果设置为-1,最后的属性被当做类属性。

3.        delta 以此数值为迭代递减单位。不断减小支持度直至达到最小支持度或产生了满足数量要求的规则。

4.        lowerBoundMinSupport 最小支持度下界。

5.        metricType 度量类型。设置对规则进行排序的度量依据。可以是:置信度(类关联规则只能用置信度挖掘),提升度(lift),杠杆率(leverage),确信度(conviction)。

在 Weka中设置了几个类似置信度(confidence)的度量来衡量规则的关联程度,它们分别是:

a)        Lift : P(A,B)/(P(A)P(B)) Lift=1时表示A和B独立。这个数越大(>1),越表明A和B存在于一个购物篮中不是偶然现象,有较强的关联度.

b)        Leverage :P(A,B)-P(A)P(B)

Leverage=0时A和B独立,Leverage越大A和B的关系越密切

c)        Conviction:P(A)P(!B)/P(A,!B) (!B表示B没有发生) Conviction也是用来衡量A和B的独立性。从它和lift的关系(对B取反,代入Lift公式后求倒数)可以看出,这个值越大, A、B越关联。

6.        minMtric 度量的最小值。

7.        numRules 要发现的规则数。

8.        outputItemSets 如果设置为真,会在结果中输出项集。

9.        removeAllMissingCols 移除全部为缺省值的列。

10.    significanceLevel 重要程度。重要性测试(仅用于置信度)。

11.    upperBoundMinSupport 最小支持度上界。 从这个值开始迭代减小最小支持度。

12.    verbose 如果设置为真,则算法会以冗余模式运行。

 

 

二、实验结果及分析

1. 以其中一组实验为例做详细分析

具体参数设置如下图:

 

完整的实验结果输出及具体分析

=== Run information ===     // 实验运行信息

 

Scheme:       weka.associations.Apriori -I -N 10 -T 0 -C 0.9 -D 0.05 -U 1.0 -M 0.5 -S -1.0 -c -1

Relation:     contact-lenses       //数据的名称 contact-lenses

Instances:    24         //数据的记录数 24

Attributes:   5         //属性数目 5以及各属性名称

              age

              spectacle-prescrip

              astigmatism

              tear-prod-rate

              contact-lenses

=== Associator model (full training set) ===

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%  scheme -所选的关联规则挖掘方案: Apriori算法

%  算法的参数设置:-I -N 10 -T 0 -C 0.9 -D 0.05 -U 1.0 -M 0.5 -S -1.0 -c -1 ;

%  各参数依次表示:

%  I - 输出项集,若设为false则该值缺省;

%  N 10 - 规则数为10;

%  T 0 – 度量单位选为置信度,(T1-提升度,T2杠杆率,T3确信度);

%  C 0.9 – 度量的最小值为0.9;

%  D 0.05 - 递减迭代值为0.05;

%  U 1.0 - 最小支持度上界为1.0;

%  M 0.5 - 最小支持度下届设为0.5;

%  S -1.0 - 重要程度为-1.0;

%  c -1 - 类索引为-1输出项集设为真

%  (由于car, removeAllMissingCols, verbose都保持为默认值False,因此在结果的参数设置为缺省,若设为True,则会在结果的参数设置信息中分别表示为A,
R,V)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 

 

Apriori  // Apriori算法运行结果

=======

 

Minimum support: 0.5 (12 instances)  //最小支持度0.5,即最少需要12个实例

Minimum metric <confidence>: 0.9   //最小度量<置信度>:
0.9

Number of cycles performed: 10    //进行了10轮搜索

 

Generated sets of large itemsets:     //生成的频繁项集

 

Size of set of large itemsets L(1): 7     //频繁1项集:7个

 

Large Itemsets L(1):      //频繁1项集(outputItemSets设为True, 因此下面会具体列出)

spectacle-prescrip=myope 12

spectacle-prescrip=hypermetrope 12

astigmatism=no 12

astigmatism=yes 12

tear-prod-rate=reduced 12

tear-prod-rate=normal 12

contact-lenses=none 15

%%%%%%%%%%%%%%%%%%%%%%%%

在上面所示数据界面中,分别点击标签spectacle-prescrip,astigmatism,tear-prod-rate和contact-lenses,该列的值会自动进行分类排序,可以很方便的对上面结果进行。点击age标签,其值按pre-presbiopic、presbiopic和young分类排序,可以看到各属性值的记录数均为8<12,不满足最小支持度,因此age属性的所有取值都没有列在上面结果中。

%%%%%%%%%%%%%%%%%%%%%%%%

 

Size of set of large itemsets L(2): 1    //频繁2项集: 1个

 

Large Itemsets L(2):

tear-prod-rate=reduced contact-lenses=none 12

//tear-prod-rate取值为reduced且 contact-lenses取值为none 的记录数共有12个

 

Best rules found:    //最佳关联规则

 

 1. tear-prod-rate=reduced 12 ==> contact-lenses=none 12    conf:(1)

// 若tear-prod-rate取值为reduced可以推出 contact-lenses的取值为none,该关联规则置信度为100%

 

2.其它实验设置及部分结果展示

1. 实验中,若其它参数保持为默认值,将最小支持度下界设为0.8,则运行结果会显示”No large itemsets and rules found!”,即找不到满足条件的关联规则。

2. 若其它参数保持为默认值,将最小支持度下界设为0.25,上界设为0.8,度量选为置信度,最小值为0.8,则运行结果找到:频繁1项集10个,频繁2项集18个,频繁3项集4个,找到的最佳关联规则为:

1. tear-prod-rate=reduced 12 ==> contact-lenses=none 12    conf:(1)

 2. spectacle-prescrip=myope tear-prod-rate=reduced 6 ==> contact-lenses=none 6    conf:(1)

 3. spectacle-prescrip=hypermetrope tear-prod-rate=reduced 6 ==> contact-lenses=none 6    conf:(1)

 4. astigmatism=no tear-prod-rate=reduced 6 ==> contact-lenses=none 6    conf:(1)

 5. astigmatism=yes tear-prod-rate=reduced 6 ==> contact-lenses=none 6    conf:(1)

 6. spectacle-prescrip=myope contact-lenses=none 7 ==> tear-prod-rate=reduced 6    conf:(0.86)

 7. astigmatism=no contact-lenses=none 7 ==> tear-prod-rate=reduced 6    conf:(0.86)

 8. contact-lenses=none 15 ==> tear-prod-rate=reduced 12    conf:(0.8)

 

3. 若其它参数保持为默认值,将最小支持度下界设为0.25,上界设为0.8,度量选为提升度(Lift : P(A,B)/(P(A)P(B))),最小值为1.1,则运行结果找到10条最佳关联规则,前3条如下:

1. tear-prod-rate=reduced 12 ==> spectacle-prescrip=myope contact-lenses=none 6    conf:(0.5) < lift:(1.71)> lev:(0.1) [2] conv:(1.21)

 2. spectacle-prescrip=myope contact-lenses=none 7 ==> tear-prod-rate=reduced 6    conf:(0.86) < lift:(1.71)> lev:(0.1) [2] conv:(1.75)

 3. tear-prod-rate=reduced 12 ==> astigmatism=no contact-lenses=none 6    conf:(0.5) < lift:(1.71)> lev:(0.1) [2] conv:(1.21)

 

4. 若其它参数保持为默认值,将最小支持度下界设为0.25,上界设为0.8,度量选为杠杆率(Leverage:P(A,B)-P(A)P(B),在下面第一条规则中,[4]表示满足lev:(0.19)的实例数目),最小值为0.1,则运行结果找到6条最佳关联规则,前3条如下:

1. tear-prod-rate=reduced 12 ==> contact-lenses=none 12    conf:(1) lift:(1.6) < lev:(0.19) [4]> conv:(4.5)

2. contact-lenses=none 15 ==> tear-prod-rate=reduced 12    conf:(0.8) lift:(1.6) < lev:(0.19) [4]> conv:(1.88)

3. tear-prod-rate=reduced 12 ==> spectacle-prescrip=myope contact-lenses=none 6   

 

5. 若其它参数保持为默认值,将最小支持度下界设为0.25,上界设为0.8,度量选为确信度(Conviction:P(A)P(!B)/P(A,!B)),最小值为1.1,则运行结果找到10条最佳关联规则,前3条如下:

1. tear-prod-rate=reduced 12 ==> contact-lenses=none 12    conf:(1) lift:(1.6) lev:(0.19) [4] < conv:(4.5)>

2. spectacle-prescrip=myope tear-prod-rate=reduced 6 ==> contact-lenses=none 6    conf:(1) lift:(1.6) lev:(0.09) [2] < conv:(2.25)>

3. spectacle-prescrip=hypermetrope tear-prod-rate=reduced 6 ==> contact-lenses=none 6    conf:(1) lift:(1.6) lev:(0.09) [2] < conv:(2.25)>

 

时间: 2024-12-02 03:06:39

weka –Apriori算法 关联规则挖掘实验的相关文章

关联规则挖掘之Apriori算法实现超市购物

一.关联规则 关联规则(Association Rules)是反映一个事物与其他事物之间的相互依存性和关联性,是数据挖掘的一个重要技术,用于从大量数据中挖掘出有价值的数据项之间的相关关系.其中关联规则挖掘的最经典的例子就是沃尔玛的啤酒与尿布的故事,通过对超市购物篮数据进行分析,即顾客放入购物篮中不同商品之间的关系来分析顾客的购物习惯,发现美国妇女们经常会叮嘱丈夫下班后为孩子买尿布,30%-40%的丈夫同时会顺便购买喜爱的啤酒,超市就把尿布和啤酒放在一起销售增加销售额. 二.基本概念 关联规则挖掘

【Python数据挖掘课程】八.关联规则挖掘及Apriori实现购物推荐

        这篇文章主要介绍三个知识点,也是我<数据挖掘与分析>课程讲课的内容.         1.关联规则挖掘概念及实现过程:         2.Apriori算法挖掘频繁项集:         3.Python实现关联规则挖掘及置信度.支持度计算.         前文推荐:        [Python数据挖掘课程]一.安装Python及爬虫入门介绍        [Python数据挖掘课程]二.Kmeans聚类数据分析及Anaconda介绍        [Python数据挖掘

数据挖掘系列(4)使用weka做关联规则挖掘

前面几篇介绍了关联规则的一些基本概念和两个基本算法,但实际在商业应用中,写算法反而比较 少,理解数据,把握数据,利用工具才是重要的,前面的基础篇是对算法的理解,这篇将介绍开源利 用数据挖掘工具weka进行管理规则挖掘. weka数据集格式arff arff标准数据集简介 weka的数据文件后缀为arff(Attribute-Relation File Format,即属性关系文件格式),arff文 件分为注释.关系名.属性名.数据域几大部分,注释用百分号开头%,关系名用@relation申明,属

数据挖掘算法之-关联规则挖掘(Association Rule)

在数据挖掘的知识模式中,关联规则模式是比较重要的一种.关联规则的概念由Agrawal.Imielinski.Swami 提出,是数据中一种简单但很实用的规则.关联规则模式属于描述型模式,发现关联规则的算法属于无监督学习的方法. 一.关联规则的定义和属性   考察一些涉及许多物品的事务:事务1 中出现了物品甲,事务2 中出现了物品乙,事务3 中则同时出现了物品甲和乙.那么,物品甲和乙在事务中的出现相互之间是否有规律可循呢?在数据库的知识发现中,关联规则就是描述这种在一个事务中物品之间同时出现的规律

《推荐系统:技术、评估及高效算法》一2.5 关联规则挖掘

2.5 关联规则挖掘 关联规则挖掘关注于规则的发现,其他能够根据事务中出现其他物品来预测出现某个物品.两个物品被发现相关只意味着共同出现,但是没有因果关系.注意不要将这种技术与在2.3.3节中提到的基于规则的分类混淆. 我们定义物品集为一个或多个物品的集合(例如,(牛奶,啤酒,尿布)).k-物品集是包含k个物品的集合.给定物品的频繁度称为支持量(比如,(牛奶,啤酒,尿布)=131).并且物品集的支持度是包含它的事务的比例(例如,(牛奶,啤酒,尿布)=0.12).频繁物品集是支持度大于或等于最小支

算法-小白问些关联规则挖掘上的问题,请各位指点一下。

问题描述 小白问些关联规则挖掘上的问题,请各位指点一下. 请问一下apriori算法怎样用在数据表上?我在网上搜了一些,发现都是对事务数据库进行关联规则的挖掘的......那么如何用在表中呢?我想用来发现表中属性之间的关联规则,大概是一个有11个属性的表,每个属性有100个值,各个值都在规定值域 解决方案 http://www.cnblogs.com/dolphin0520/archive/2012/10/29/2733356.html

数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法

我计划整理数据挖掘的基本概念和算法,包括关联规则挖掘.分类.聚类的常用算法,敬请期待. 今天讲的是关联规则挖掘的最基本的知识. 关联规则挖掘在电商.零售.大气物理.生物医学已经有了广泛的应用,本篇文章将介绍一些基本 知识和Aprori算法. 啤酒与尿布的故事已经成为了关联规则挖掘的经典案例,还有人专门出了一本书<啤酒与尿布>, 虽然说这个故事是哈弗商学院杜撰出来的,但确实能很好的解释关联规则挖掘的原理.我们这里以一 个超市购物篮迷你数据集来解释关联规则挖掘的基本概念: 表中的每一行代表一次购买

《中国人工智能学会通讯》——12.3 基于 Apriori 的序列模式挖掘算法

12.3 基于 Apriori 的序列模式挖掘算法 GSP(Generalized Sequential Patterns) [17] 是一种经典的序列模式挖掘算法,它直接从频繁模式挖掘的 Apriori 算法扩展而来.GSP 采用了水平的数据格式,通过生成候选序列及扫描数据库的方法逐层挖掘频繁序列模式.这里的水平数据格式指的是依然以序列作为主要的观察对象.此外,GSP 还采用了序列模式支持度的向下封闭性用于剪枝.与Apriori 不同的是,GSP 在生成候选序列的时候考虑了有序和无序两种情况,

数据挖掘系列(5)使用mahout做海量数据关联规则挖掘

上一篇介绍了用开源数据挖掘软件weka做关联规则挖掘,weka方便实用,但不能处理大数据集,因 为内存放不下,给它再多的时间也是无用,因此需要进行分布式计算,mahout是一个基于hadoop的分 布式数据挖掘开源项目(mahout本来是指一个骑在大象上的人).掌握了关联规则的基本算法和使用 ,加上分布式关联规则挖掘后,就可以处理基本的关联规则挖掘工作了,实践中只需要把握业务,理 解数据便可游刃有余. 安装mahout 骑在大象上的侠士必然需要一头雄纠纠的大象,不过本文不解绍大象hadoop,所