用WEKA软件进行Apriori算法数据挖掘测试最详细清楚解释

简介: 用WEKA软件进行Apriori算法数据挖掘测试最详细清楚解释

一、Apriori算法简介

“Apriori算法是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集。而且算法已经被广泛的应用到商业、网络安全等各个领域。 算法简介 Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。算法思想 ”。

二、因为WEKA能识别的文件类型是.arff文件,所以我们需要将已有数据转为.arff文件格式的数据(见下图紫色框中的内容)。

1、@relation:关系名(无硬性要求,但建议取和数据相关的名如下面的movie);
2、@attribute:属性名 ;
3、 { }:属性可取值的范围,可自定义;
4、@data:之后每一行均为一个事务,未知属性值使用 “ ?”,也可以填写属性值范围{}的内容(下面的就是可以填“True”或者“False”),解释一下第一行:动作、战争,第二行:喜剧、爱情,第三行:剧情、动作、犯罪。规律就是“True”对应的属性值就是该行事务的取值内容,而“ ?”则不用显示。

5、.arff文件可以用.txt文本文件修改后缀名生成。

@relation movie
@attribute 动作 {False, True}
@attribute 战争 {False, True}
@attribute 喜剧 {False, True}
@attribute 爱情 {False, True}
@attribute 剧情 {False, True}
@attribute 犯罪 {False, True}
@attribute 科幻 {False, True}
@attribute 灾难 {False, True}
@attribute 奇幻 {False, True}
@data
True,True,?,?,?,?,?,?,?
?,?,True,True,?,?,?,?,?
True,?,?,?,True,True,?,?,?
True,True,?,?,True,?,?,?,?
?,?,?,?,?,?,True,True,?
?,?,True,True,?,?,?,?,True
True,True,?,?,?,?,?,?,?
?,?,True,?,?,?,?,?,True
?,?,?,?,True,?,?,?,?
?,?,?,?,True,?,?,?,?

三、用WEKA进行数据预处理(点击紫色箭头指向的紫色框中的内容“Explorer”)。

1、Explorer
用来进行数据实验、挖掘的环境,它提供了分类,聚类,关联规则,特征选择,数据可视化的功能。(An environment for exploring data with WEKA)
2、Experimentor
用来进行实验,对不同学习方案进行数据测试的环境。(An environment for performing experiments and conducting statistical tests between learning schemes.)
3、KnowledgeFlow
功能和Explorer差不多,不过提供的接口不同,用户可以使用拖拽的方式去建立实验方案。另外,它支持增量学习。(This environment supports essentially the same functions as the Explorer but with a drag-and-drop interface. One advantage is that it supports incremental learning.)
4、SimpleCLI
简单的命令行界面。(Provides a simple command-line interface that allows direct execution of WEKA commands for operating systems that do not provide their own command line interface.)

四、进入新页面后,点击紫色箭头指向的紫色框中的内容“Open file”。

五、找到自己之前要进行数据预处理的.arff文件(博主进行示范的是movie.arff,见第二步红色箭头指向的红色框指向的内容)。

六、可点击红色箭头指向的红色框中的内容“Edit”对.arff数据内容进行重新编辑,也可以不编辑(博主就没有重新编辑了,同时请注意:编辑不会改变原.arff文件内容也就是例子中的movie.arff文件)。

七、点击红色箭头指向的红色框中的内容“Associate”(关联规则分析)。

温馨提示:Preprocess(预处理)、Classify(分类)、Cluster(聚类)、Associate(关联规则)、Select attribute(特征选择)和Visualize(可视化)。

八、第一步点击红色箭头指向的红色框中的“choose”。

九、第二步选择红色箭头指向的红色框中的“Apriori”。进行算法选择为Apriori算法,为关联规则分析做准备。

十、点击红色箭头指向的红色框中的内容。

十一(重要)、页面中的参数值(见下图红色框的内容)都可以修改调动,但建议在修改调动之前现阅读下面各个参数所表达的含义和用法,若不需要修改调动,就直接可以采用系统默认的参数值;修改完之后点击紫色框内容(ok)确定修改。

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

2、classindex :类属性索引。如果设置为-1,则倒数第一的属性也就是最后的属性被当做类属性。

3、delta: 以该数值为迭代递减单位,然后不断减小支持度直至达到最小支持度或产生了满足数量要求的规则。根据delta可以计算理解Number of cycles performed的公式是:

*(upperBoundMinSupport)-((Number of cycles performed)-1)delta >= (LowerBoundMinSupport)

4、lowerBoundMinSupport :最小支持度下界。

5、metricType :度量类型,设置对规则进行排序的度量依据。可以选择是:置信度(Confidence,

注意:类关联规则只能用置信度挖掘),提升度(Lift),杠杆率(Leverage),确信度(Conviction)。

(1)Confidence(conf):Confidence(A==>B)=Support(AUB)/Support(A)注意:AUB表
示同时包含A和B的支持项。比如:剧情=True 4 ==> 动作=True 2 计算出 Confidence=2/4=0.5。

(2)Lift (lift): P(A,B)/(P(A)P(B)) Lift=1时表示A和B独立。这个数越大(>1),越表明A和B存在于一个购物篮中不是偶然现象,有较强的关联度。注意:P(A)是指包含A属性数目在所有原始项目集数目的比例

(3)Leverage (lev):P(A,B)-P(A)P(B)Leverage=0时A和B独立,Leverage越大A和B的关系越密切。

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

6、minMtric :度量的最小值,指的是你上一步选择的度量类型的度量最小值比如默认选择了Confidence,那么Confidence的度量最小值就是minMtric设置的值,在后面生成的Best rules found中Confidence若比这个度量最小值还小就会被直接删掉不会出现,比如minMtric=0.9,Conf=0.8,则不会出现。

7、numRules :最多需要发现的规则数,会把发现的规则数进行排序,最多把前numRules个显示出来,比如numRules=10,那么就是最多显示十条规则数。

8、outputItemSets :如果设置为True,会在结果Size of set of large itemsets L(X)中输出具体项集而不仅仅是项集数目(Size of set of large itemsets)。

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

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

11、upperBoundMinSupport: 最小支持度上界,从这个值开始迭代减小到大于等于最小支持度。

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

十二、点击紫色箭头指向的紫色框中的内容(Start)。

十三:成功生成相应关联规则(见下图)。

十四(重要)、相应颜色框对应相应属性值设置内容,左边颜色框的内容随右边相应颜色框的修改内容改变而改变。注意:Minimum support: 0.2 (2 instances)中instances的计算过程是:0.2X10=2。公式:四舍五入(最小支持度x项目总数)。instances的作用是为挑选minsup_count>=instances的值组成X-频繁项目集(X取1,2,3…)如下图中的L(1)是频繁项目集。Minimum metric 值的作用是:下面的Best rules found:中的conf必须大于等于Minimum metric 值才能进入频繁项目集。


相关文章
|
3月前
|
机器学习/深度学习 自然语言处理 算法
【数据挖掘】金山办公2020校招大数据和机器学习算法笔试题
金山办公2020校招大数据和机器学习算法笔试题的解析,涵盖了编程、数据结构、正则表达式、机器学习等多个领域的题目和答案。
100 10
|
3月前
|
算法 数据挖掘 Python
【数据挖掘】十大算法之Apriori关联算法
Apriori关联算法,这是一种用于发现数据集中频繁项集和关联规则的数据挖掘技术,通过迭代过程找出满足最小支持度阈值的项集。
70 8
|
3月前
|
自然语言处理 算法 数据挖掘
【数据挖掘】十大算法之PageRank连接分析算法
文章介绍了PageRank算法的基本概念和数学模型,包括如何通过一阶马尔科夫链定义随机游走模型以及如何计算网页的重要性评分,并提供了PageRank迭代算法的具体步骤。
74 0
|
2月前
|
机器学习/深度学习 数据采集 算法
数据挖掘和机器学习算法
数据挖掘和机器学习算法
|
2月前
|
存储 算法 大数据
Apriori算法和Eclat算法差异
Apriori算法和Eclat算法差异
|
3月前
|
机器学习/深度学习 存储 人工智能
【数据挖掘】2022年2023届秋招知能科技公司机器学习算法工程师 笔试题
本文是关于2022-2023年知能科技公司机器学习算法工程师岗位的秋招笔试题,包括简答题和编程题,简答题涉及神经网络防止过拟合的方法、ReLU激活函数的使用原因以及条件概率计算,编程题包括路径行走时间计算和两车相向而行相遇时间问题。
77 2
【数据挖掘】2022年2023届秋招知能科技公司机器学习算法工程师 笔试题
|
3月前
|
机器学习/深度学习 自然语言处理 算法
【数据挖掘】2020奇安信秋招算法方向试卷1 笔试题解析
2020年奇安信秋招算法方向试卷1的题目解析,覆盖了数据结构、机器学习、深度学习、自然语言处理、排序算法、激活函数、主题模型、采样方法、图像处理等多个领域的知识点。
48 1
【数据挖掘】2020奇安信秋招算法方向试卷1 笔试题解析
|
3月前
|
机器学习/深度学习 存储 算法
【数据挖掘】2020奇安信秋招算法方向试卷3 笔试题解析
2020年奇安信秋招算法方向试卷3的题目解析,涵盖了数据结构、机器学习、深度学习、自然语言处理、排序算法、激活函数、PCA、词嵌入库等多个领域的知识点。
54 1
【数据挖掘】2020奇安信秋招算法方向试卷3 笔试题解析
|
3月前
|
机器学习/深度学习 人工智能 算法
【数据挖掘】2022年2023届秋招奇虎360机器学习算法工程师 笔试题
本文提供了奇虎360公司2022年秋招机器学习算法工程师岗位的笔试题内容,包括选择题和编程题,涉及概率统计、数据结构、机器学习、计算机组成原理等多个领域。
95 5
|
3月前
|
机器学习/深度学习 算法 数据挖掘
【数据挖掘】2022年2023届秋招宏瓴科技公司机器学习算法工程师 笔试题
关于宏瓴科技有限公司2022-2023年秋招机器学习算法工程师岗位的笔试题目及作者个人对部分题目的解答尝试,涉及贝叶斯误差和贝叶斯最优分类器的概念、贝叶斯误差的重要性和估算方法,以及如何有效利用训练集和测试集进行深度学习模型训练的数据集划分策略。
59 4