机器学习实战——第十一/十二章:关联规则挖掘Apriori算法和FP-growth算法

来源:互联网 发布:网络拓扑图制作软件 编辑:程序博客网 时间:2024/04/27 13:43

本系列目的在于总结每一个分类器的特点(优点、缺点、使用数据类型、使用时的注意事项等)。相关代码自己搜。


python:建议使用2.7

python常用函数库:NumPy、scikit-learn等

python集成环境:anaconda


毕业季,玩了20天。


Apriori缺点:只关心物品是否出现,不关心出现的次数。每次增加频繁项集的大小,Apriori算法都会重新扫描整个数据集。当数据集很大时,这会显 
著降低频繁项集发现的速度。FP-growth算法只需要对数据库进行两次遍历,能够显著加快发现繁项集的速度;这种算法虽然能更为高效地发现频繁项集,但不能用于发现关联规则。


使用时注意事项:

0、关联分析是一种在大规模数据集中寻找有趣关系的任务。这些关系可以有两种形式:频繁项 集或者关联规则。频繁项集(frequent item sets)是经常出现在一块的物品的集合,关联规则 ( association rules )暗示两种物品之间可能存在很强的关系。

1、支持度(support)针对项集而言:一个项集的支持度(support)被定义为数据集中包含该项集的记录所占的比例。可信度或置信度( confidence)针对关联规则而言:可信度或置信度( confidence)是针对一条诸如{尿布}——>{葡萄酒}的关联规则来定义的。这 条规则的可信度被定义为“ 支持度({尿布, 葡萄酒})/支持度({尿布})”。

2、一个原理:Apriori 原理是说如果某个项集是频繁的,那么它的所有子集也是频繁的。

3、一个原理:如果某条规则并不满足 最小可信度要求,那么该规则的所有子集也不会满足最小可信度要求。假设规则 
{0,1, 2 }——>{3}并不满足最小可信度要求,那么就知道任何左部为{0, 1, 2}子集的规则也不会满足最小可信度要求。可以利用关联规则的上述性质属性来减少需要测试的规则数目。

4、Apriori算法的两个输人参数分别是最小支持度和数 据集。该算法首先会生成所有单个物品的项集列表。接着扫描交易记录来查看哪些项集满足最小 
支持度要求,那些不满足最小支持度的集合会被去掉。然后,对剩下来的集合进行组合以生成包含两个元素的项集。接下来,再重新扫描交易记录,去掉不满足最小支持度的项集。该过程重复 进行直到所有项集都被去掉。

5、FP-growth算法参考之前的文章:http://blog.csdn.net/mmc2015/article/details/42553027


0 0