算法常见:
运用于推荐商品。
关联规则:
简单举例->
市场购物篮分析的结果是一组指定商品之间关系模式的关联规
则。
• 一个典型的规则可以表述为: {花生酱,果冻} –> {面包}
• 这个关联规则用通俗易懂的语言来表达就是:如果购买了花生
酱和果冻,那么也很有可能会购买面包。
支持度和置信度
一个项集或者规则度量法的支持度是指其在数据中出现的频率
置信度是指该规则的预测能力或者准确度的度量
Apriori算法
Apriori原则指的是一个频繁项集的所有子集,也必须是频繁的,
如果{A,B}是频繁的,那么{A}和{B}都必须是频繁的
根据定义,支持度表示一个项集出现在数据中的频率,因此,如果知道{A}
不满足所期望的支持度,那么就没必要考虑{A,B}或者任何满足包含{A}的项集
,这些项集绝对不可能是频繁的。
图表理解
BE出现的支持度为3/4 ,
那么在BE出现的支持度下再出现C的概率结果为:
p(C)=p(BEC)/P(BE)=1/2 / 3/4=2/3 也就是置信度p(BE->C)=2/3
实现步骤:
Apriori
算法是一种最有影响的挖掘布尔关联规则频繁项集的算法
Apriori
使用一种称作逐层搜索的迭代方法,“
K-1
项集”用于搜索“
K
项集”。
首先,找出频繁“
1
项集”的集合,该集合记作
L1
。
L1
用于找频繁“
2
项集”的集合
L2
,而
L2
用于找
L3
。如此下去,直到不能找到“
K
项集”。找每个
Lk
都需要一次
数据库
扫描。
核心思想是:连接步和剪枝步。连接步是自连接,原则是保证前
k-2
项相同
,并按照字典顺序连接。剪枝步,是使任一频繁项集的所有非空子集也必须是频繁的。反之,如果某
个候选的非空子集不是频繁的,那么该候选肯定不是频繁的,从而可以将其从
CK
中删除。
简单的讲,
1
、
发现频繁项集,过程为(
1
)扫描(
2
)计数(
3
)比较(
4
)产生频繁项集(
5
)连接、剪枝,产生候选项集
重复步骤(
1
)
~
(
5
)直到不能发现更大的频集
2
、
产生关联规则,过程为:根据前面提到的置信度的定义,关联规则的产生如下:
(
1
)对于每个频繁项集
L
,产生
L
的所有非空子集;
(
2
)对于
L
的每个非空子集
S
,如果
P
(
L
)
/P
(
S
)≧
min_conf
则输出规则“
S
à
L-S
”