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

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

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

? ? ? ? 这篇文章主要介绍三个知识点,也是我《数据挖掘与分析》课程讲课的内容。
? ? ? ??1.关联规则挖掘概念及实现过程;
? ? ? ? 2.Apriori算法挖掘频繁项集;
? ? ? ? 3.Python实现关联规则挖掘及置信度、支持度计算。

? ? ? ? 前文推荐:
? ? ? ?【Python数据挖掘课程】一.安装Python及爬虫入门介绍
? ? ? ?【Python数据挖掘课程】二.Kmeans聚类数据分析及Anaconda介绍
? ? ? ?【Python数据挖掘课程】三.Kmeans聚类代码实现、作业及优化
? ? ? ?【Python数据挖掘课程】四.决策树DTC数据分析及鸢尾数据集分析
? ? ? ?【Python数据挖掘课程】五.线性回归知识及预测糖尿病实例
? ? ? ?【Python数据挖掘课程】六.Numpy、Pandas和Matplotlib包基础知识
? ? ? ?【Python数据挖掘课程】七.PCA降维操作及subplot子图绘制

? ? ? ? 希望这篇文章对你有所帮助,尤其是刚刚接触数据挖掘以及大数据的同学,这些基础知识真的非常重要。如果文章中存在不足或错误的地方,还请海涵~
? ? ? ? 参考:
? ? ? ??关联规则挖掘之Apriori算法实现超市购物 - eastmount
? ? ? ??关联规则简介与Apriori算法 - 百度文库guaidaoK


一. 关联规则挖掘概念及实现过程

? ? ? ? 1.关联规则
? ? ? ??关联规则(Association Rules)是反映一个事物与其他事物之间的相互依存性和关联性,如果两个或多个事物之间存在一定的关联关系,那么,其中一个事物就能通过其他事物预测到。关联规则是数据挖掘的一个重要技术,用于从大量数据中挖掘出有价值的数据项之间的相关关系。
? ? ? ? 关联规则首先被Agrawal,lmielinski and Swami在1993年的SIGMOD会议上提出。
? ? ? ? 关联规则挖掘的最经典的例子就是沃尔玛的啤酒与尿布的故事,通过对超市购物篮数据进行分析,即顾客放入购物篮中不同商品之间的关系来分析顾客的购物习惯,发现美国妇女们经常会叮嘱丈夫下班后为孩子买尿布,30%-40%的丈夫同时会顺便购买喜爱的啤酒,超市就把尿布和啤酒放在一起销售增加销售额。有了这个发现后,超市调整了货架的设置,把尿布和啤酒摆放在一起销售,从而大大增加了销售额。

? ? ? ? 2.常见案例
? ? ? ? 前面讲述了关联规则挖掘对超市购物篮的例子,使用Apriori对数据进行频繁项集挖掘与关联规则的产生是一个非常有用的技术,其中我们众所周知的例子如:
? ? ? ? (1) 沃尔玛超市的尿布与啤酒
? ? ? ? (2) 超市的牛奶与面包
? ? ? ? (3) 百度文库推荐相关文档
? ? ? ? (4) 淘宝推荐相关书籍
? ? ? ? (5) 医疗推荐可能的治疗组合
? ? ? ? (6) 银行推荐相关联业务
? ? ? ? 这些都是商务智能和关联规则在实际生活中的运用。

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

? ? ? ??
? ? ? ? 3.置信度与支持度
? ? ? ? (1) 什么是规则?
? ? ? ? 规则形如"如果…那么…(If…Then…)",前者为条件,后者为结果。例如一个顾客,如果买了可乐,那么他也会购买果汁。
? ? ? ? 如何来度量一个规则是否够好?有两个量,置信度(Confidence)和支持度(Support),假如存在如下表的购物记录。

? ? ? ? (2) 基本概念
? ? ? ? 关联规则挖掘是寻找给定数据集中项之间的有趣联系。如下图所示:

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


? ? ? ? 其中,I={ I1,I2,… Im } 是m个不同项目的集合,集合中的元素称为项目(Item)。
? ? ? ? 项目的集合I称为项目集合(Itemset),长度为k的项集成为k-项集(k-Itemset)。
? ? ? ? 设任务相关的数据D是数据库事务的集合,其中每个事务T是项的集合,使得T?I。每个事务有一个标识符TID;设A是一个项集,事务T包含A当且仅当A?I,则关联规则形式为A=>B(其中A?IB?I,并且AB= ?),交易集D中包含交易的个数记为|D|。

? ? ? ? 在关联规则度量中有两个重要的度量值:支持度和置信度。
? ? ? ? 对于关联规则R:A=>B,则:
? ? ? ? 支持度(suppport):是交易集中同时包含A和B的交易数与所有交易数之比。
? ? ? ? ? ? ? ? ? ? ? ? ? ? Support(A=>B)=P(A∪B)=count(A∪B)/|D|
? ? ? ? 置信度(confidence是包含A和B交易数与包含A的交易数之比。
? ? ? ? ? ? ? ? ? ? ? ? ? ? Confidence(A=>B)=P(B|A)=support(A∪B)/support(A)

? ? ? ? (3) 支持度
? ? ? ? 支持度(Support)计算在所有的交易集中,既有A又有B的概率。例如在5条记录中,既有橙汁又有可乐的记录有2条。则此条规则的支持度为 2/5=0.4,即:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Support(A=>B)=P(AB)
? ? ? ? 现在这条规则可表述为,如果一个顾客购买了橙汁,则有50%(置信度)的可能购买可乐。而这样的情况(即买了橙汁会再买可乐)会有40%(支持度)的可能发生。?

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



? ? ? ? (4) 置信度
? ? ? ? 置信度(confidence)表示了这条规则有多大程度上值得可信。设条件的项的集合为A,结果的集合为B。置信度计算在A中,同时也含有B的概率(即:if A,then B的概率)。即 :
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Confidence(A=>B)=P(B|A)
? ? ? ? 例如计算“如果Orange则Coke”的置信度。由于在含有“橙汁”的4条交易中,仅有2条交易含有“可乐”,其置信度为0.5。

? ? ? ? (5) 最小支持度与频繁集
? ? ? ? 发现关联规则要求项集必须满足的最小支持阈值,称为项集的最小支持度(Minimum Support),记为supmin。支持度大于或等于supmin的项集称为频繁项集,简称频繁集,反之则称为非频繁集。通常k-项集如果满足supmin,称为k-频繁集,记作Lk。关联规则的最小置信度(Minimum Confidence)记为confmin,它表示关联规则需要满足的最低可靠性。

? ? ? ? (6) 关联规则

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



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



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



? ? ? ? (7) 强关联规则
? ? ? ? 如果规则R:X=>Y 满足 support(X=>Y) >= supmin 且 confidence(X=>Y)>=confmin,称关联规则X=>Y为强关联规则,否则称关联规则X=>Y为弱关联规则。
? ? ? ? 在挖掘关联规则时,产生的关联规则要经过supmin和confmin的衡量,筛选出来的强关联规则才能用于指导商家的决策。

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



二. Apriori算法挖掘频繁项集

(编辑:温州站长网)

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

热点阅读