Apriori算法——关联规则挖掘
前言:
首先,关联规则挖掘的目的是找出事物之间存在的隐藏的关系,比如经典的案例啤酒和尿布的的故事,用我们人的思维来思考的话,男性在买尿布的时候会买几瓶啤酒,这二者并没有什么因果关系。然而通过对海量数据进行关联分析,却能够发现这个有趣的知识,在超市调整货架后,明显的提升了超市啤酒尿布的销量。
基本概念:
1.关联规则的表示: 泡面 => 火腿 [support=2%;confidence=70%] 。这个就是关联规则的表示方法,其中支持度(support)和 (置信度)confidence是两个衡量这个规则是否有趣的度量标准。
2.支持度:按照上面的例子来讲,已知了支持度是2%,意味着所有事务的2%显示同时买了泡面和火腿。如果这个有疑惑大可不必着急,这个在还会在后续的例子里面具体阐述。
3.置信度:例如上述的置信度为70%,意味着所有买泡面的顾客,70%的顾客都买了火腿。
4.项集:项集就是项的集合,例如:{矿泉水,泡面,火腿} 这是一个3项集,项集的出现频度是包含项集的事务数,把它记作支持度计数,通俗的来说,假设有三个顾客分别买了{矿泉水,泡面,火腿}、{矿泉水,泡面,火腿、牛栏山}、{矿泉水,火腿}。那么这个3项集的支持度计数就是2。
5.频繁项集:如果我们预定义的支持度计数是2,也就是此时的支持度计数阈值为2,而上述的3项集的支持度计数是2,所以该3项集是频繁项集。
6.置信度计算公式:confidence( 泡面 => 火腿 ) = P(火腿 | 泡面) =