关联规则挖掘
==================
关联规则挖掘
==================
原理及目标
--
根据共现找出相关联的信息
相关概念
----
物品, 物品集, 事务,关联规则,支持度,可信度,最小支持度,最小可信度,频繁项集
关联规则发现任务
--------
给定一个事务数据库D,求出所有满足最小支持度和最小可信度的关联规则。该问题可以分解为两个子问题:
1. 求出D中满足最小支持度的所有频繁集; # 难点,如何高效地求出频繁项集?
2. 利用频繁集生成满足最小可信度的所有关联规则。 # 容易解决
注:频繁集具有向下封闭性,即:频繁集的子集一定是频繁集;非频繁集的超集一定是非频繁集。
Apriori算法
-----
首先考虑所有候选一元组C1,选出满足最小支持度的记为L1,将L1中一元组组合成候选二元组C2,选出满足最小支持度的二元组L2,
进一步组合成候选三元组C3,得到L3,一直迭代。L1,L2,...合并即可。
生成候选集的算法:
* join算法:两个物品集L[k-1]组合出物品集C[k]。
* Prune算法:从C[k]中剔除大小为k-1的不在L[k-1]中的子集。
算法的核心:
* 用频繁的(k – 1)-项集生成候选的频繁 k-项集
* 用数据库扫描和模式匹配计算候选集的支持度
算法的瓶颈:
* 巨大的候选集
* 多次扫描数据库
算法优化
---
* 宽度优先算法--AprioriHybrid算法,DHP算法。
* 深度优先算法--FP-growth算法,OP算法,TreeProjection算法。
* 数据集划分算法
* 采样算法
* 增量式更新算法
* 并行挖掘算法
FP-growth算法
----
在不生成候选项的情况下,生成FPTree,只需要扫描两次数据库,就可以完成Apriori算法的功能。
http://blog.csdn.net/sealyao/article/details/6460578
http://www.cnblogs.com/zhangchaoyang/articles/2198946.html
### python实现
FP-growth的python实现
https://github.com/enaeseth/python-fp-growth

浙公网安备 33010602011771号