机器学习面试题-数据挖掘中如何判断关联规则有效性
- 持续整理有温度、有难度、有热度的机器学习面试笔试题。
- 机器学习面试笔试题 – Github
- 机器学习面试笔试题 – Gitbook
关联规则的三个度
1.支持度(Support)
Support(X→Y) = P(X,Y) / P(I) = P(X∪Y) / P(I) = num(XUY) / num(I)
支持度表示项集{X,Y}在总项集里出现的概率。
其中,I表示总事务集。num()表示求事务集里特定项集出现的次数。
比如,num(I)表示总事务集的个数,num(X∪Y)表示含有{X,Y}的事务集的个数(个数也叫次数)。
2.置信度 (Confidence)
Confidence(X→Y) = P(Y|X) = P(X,Y) / P(X) = P(XUY) / P(X)
置信度表示在先决条件X发生的情况下,由关联规则”X→Y“推出Y的概率。即在含有X的项集中,含有Y的可能性。
3.提升度(Lift)
Lift(X→Y) = P(Y|X) / P(Y)
提升度表示含有X的条件下,同时含有Y的概率,与Y总体发生的概率之比。
满足最小支持度和最小置信度的规则,叫做“强关联规则”。
- Lift(X→Y)>1,“X→Y”是有效的强关联规则。
- Lift(X→Y) <=1,“X→Y”是无效的强关联规则。
- 特别地,Lift(X→Y) =1,X与Y相互独立。
判断规则的有效性
题目
已知有1000名顾客买年货,分为甲乙两组,每组各500人,其中甲组有500人买了茶叶,同时又有450人买了咖啡;乙组有450人买了咖啡,如表所示。
问:茶叶→咖啡是一条有效的关联规则吗?
组次 | 买茶叶的人数 | 买咖啡的人数 |
---|---|---|
甲组(500人) | 500 | 450 |
已组(500人) | 0 | 450 |
答案
- ”茶叶→咖啡“的支持度: Support(X→Y) = 450 / 500 = 90%
- “茶叶→咖啡”的置信度为:Confidence(X→Y) = 450 / 500 = 90%
- ”茶叶→咖啡“的提升度为:Lift(X→Y) = Confidence(X→Y) / P(Y) = 90%/((450+450)/1000) = 1
由于提升度Lift(X→Y) =1,表示X与Y相互独立,即是否有X,对于Y的出现无影响。也就是说,是否购买咖啡,与有没有购买茶叶无关联。即规则”茶叶→咖啡“不成立,或者说关联性很小,几乎没有,虽然它的支持度和置信度都高达90%,但它不是一条有效的关联规则。