加入收藏 | 设为首页 | 会员中心 | 我要投稿 通辽站长网 (https://www.0475zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

【Python数据挖掘课程】八.关联规则挖掘及Apriori实现购物推荐

发布时间:2021-01-08 03:19:25 所属栏目:大数据 来源:网络整理
导读:? ? ? ? 这篇文章主要介绍三个知识点,也是我《数据挖掘与分析》课程讲课的内容。 ? ? ? ?? 1.关联规则挖掘概念及实现过程; ? ? ? ? 2.Apriori算法挖掘频繁项集; ? ? ? ? 3.Python实现关联规则挖掘及置信度、支持度计算。 ? ? ? ? 前文推荐: ? ? ? ?【Pyt

? ? ? ? 关联规则对购物篮进行挖掘,通常采用两个步骤进行:
? ? ? ? a.找出所有频繁项集(文章中我使用Apriori算法>=最小支持度的项集)
? ? ? ? b.由频繁项集产生强关联规则,这些规则必须大于或者等于最小支持度和最小置信度。
? ? ? ? 下面将通超市购物的例子对关联规则挖掘Apriori算法进行分析。

? ? ? ? Apriori算法是一种对有影响的挖掘布尔关联规则频繁项集的算法,通过算法的连接和剪枝即可挖掘频繁项集。
? ? ? ? Apriori算法将发现关联规则的过程分为两个步骤:
? ? ? ? 1.通过迭代,检索出事务数据库中的所有频繁项集,即支持度不低于用户设定的阈值的项集;
? ? ? ? 2.利用频繁项集构造出满足用户最小置信度的规则。
? ? ? ? 挖掘或识别出所有频繁项集是该算法的核心,占整个计算量的大部分。?

【Python数据挖掘课程】八.关联规则挖掘及Apriori实现购物推荐



? ? ? ? 补充频繁项集相关知识:
? ? ? ? K-项集:指包含K个项的项集;
? ? ? ? 项集的出现频率:指包含项集的事务数,简称为项集的频率、支持度计数或计数;
? ? ? ? 频繁项集:如果项集的出现频率大于或等于最小支持度计数阈值,则称它为频繁项集,其中频繁K-项集的集合通常记作Lk
? ? ? ? 下面直接通过例子描述该算法:如下图所示,使用Apriori算法关联规则挖掘数据集中的频繁项集。(最小支持度计数为2)

【Python数据挖掘课程】八.关联规则挖掘及Apriori实现购物推荐

? ? ? ? 具体过程如下所示:

【Python数据挖掘课程】八.关联规则挖掘及Apriori实现购物推荐

? ? ? ? 具体分析结果:
? ? ? ? 第一次扫描:对每个候选商品计数得C1,由于候选{D}支持度计数为1<最小支持度计数2,故删除{D}得频繁1-项集合L1;
? ? ? ? 第二次扫描:由L1产生候选C2并对候选计数得C2,比较候选支持度计数与最小支持度计数2得频繁2-项集合L2;
? ? ? ? 第三次扫描:用Apriori算法对L2进行连接和剪枝产生候选3项集合C3的过程如下:
? ? ? ? 1.连接:
? ? ? ? C3=L2

【Python数据挖掘课程】八.关联规则挖掘及Apriori实现购物推荐

(连接)L2={{A,C},{B,E},{C,E}}

【Python数据挖掘课程】八.关联规则挖掘及Apriori实现购物推荐

{{A,E}}={{A,B,{A,C,E}}
? ? ? ? 2.剪枝:
? ? ? ? {A,C}的2项子集{A,B},C}和{B,C},其中{A,B}不是2项子集L2,因此不是频繁的,从C3中删除;
? ? ? ? {A,E}的2项子集{A,E}和{C,E},其中{A,E}不是2项子集L2,因此不是频繁的,从C3中删除;
? ? ? ? {B,E}的2项子集{B,E},它的所有2项子集都是L2的元素,保留C3中。
? ? ? ? 经过Apriori算法对L2连接和剪枝后产生候选3项集的集合为C3={B,E}.?在对该候选商品计数,由于等于最小支持度计数2,故得频繁3-项集合L3,同时由于4-项集中仅1个,故C4为空集,算法终止。



三. 举例:频繁项集产生强关联规则

(编辑:通辽站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读