分享

Python中的Apriori关联算法-市场购物篮分析

 拓端数据 2020-03-19

原文链接:http:///?p=7939

数据科学Apriori算法是一种数据挖掘技术,用于挖掘频繁项集和相关的关联规则。本模块重点介绍什么是关联规则挖掘和Apriori算法,以及Apriori算法的用法。此外,在小型企业场景中,我们将借助Python编程语言构建一个Apriori模型。

什么是关联规则挖掘?

如前所述,Apriori算法用于关联规则挖掘。现在,什么是关联规则挖掘?关联规则挖掘是一种用于识别一组项目之间的频繁模式和关联的技术。

例如,了解客户的购买习惯。通过查找顾客放置在其“购物篮”中的不同商品之间的关联和关联,可以得出重复的模式.

识别产品/商品之间的关联的过程称为关联规则挖掘。为了实现关联规则挖掘,已经开发了许多算法。Apriori算法是其中最受欢迎的算法,而且可以说是最有效的算法。让我们讨论什么是Apriori算法。

什么是先验算法?

Apriori算法假定频繁项集的任何子集都必须是频繁的。

假设包含{葡萄酒,薯条,面包}的交易也包含{葡萄酒,面包}。因此,根据Apriori原理,如果{酒,薯条,面包}很频繁,那么{酒,面包}也必须很频繁。

Apriori算法如何工作?

Apriori算法中的关键概念是,它假定一个频繁项集的所有子集都是频繁的。同样,对于任何不频繁的项目集,其所有超集也必须不频繁。

让我们在一个非常著名的业务场景市场篮分析的帮助下,尝试并理解Apriori算法的工作原理。

这是一个小时内包含六个事务的数据集。每个事务都是0和1的组合,其中0表示不存在某项,而1表示其存在。

交易编号葡萄酒薯片面包牛奶
11个1个1个1个
21个01个1个
3001个1个
401个00
51个1个1个1个
61个1个01个

我们可以从这种情况下找到多个规则。例如,在葡萄酒,薯条和面包的交易中,如果购买了葡萄酒和薯条,那么客户也会购买面包。

{葡萄酒,薯条} => {面包}

现在我们知道了找出有趣规则的方法,让我们回到示例中。在开始之前,让我们将支持阈值固定为50%。

步骤1:创建所有交易中出现的所有项目的频率表

项目频率
葡萄酒4
薯片4
面包4
牛奶5

步骤2根据支持阈值查找重要项目

支持阈值= 3

项目频率
葡萄酒4
薯片4
面包4
牛奶5

步骤3从重要的项目开始,使成对的商品与订单无关

项目频率
葡萄酒,薯条3
葡萄酒,面包3
葡萄酒,牛奶4
薯条,面包2
薯片,牛奶3
面包,牛奶4

步骤4根据支持阈值找到重要项目

项目频率
葡萄酒,牛奶4
面包,牛奶4

第5步:根据第4步中的重要商品,三件一起购买的商品

项目频率
葡萄酒,面包,牛奶3

{酒,面包,牛奶}是从给定数据中获得的唯一重要项目集。但是在实际场景中,我们将有数十个项目可用来构建规则。然后,我们可能必须制作四对/五对项集。

Python中的Apriori算法-市场篮子分析

问题陈述

一家零售商店的经理正在尝试找出六个商品之间的关联规则,以找出哪些商品更经常一起购买,以便他可以将这些商品放在一起以增加销量。

数据集

以下是第一天的交易数据。此数据集包含6个项目和22个交易记录。

使用Python进行市场购物篮分析

我们将实现Apriori算法,以帮助经理进行市场分析。

步骤1:导入库 

步骤2:载入资料集

 

步骤3:浏览记录 

步骤4:查看 

步骤5: 将Pandas DataFrame转换为列表列表

步骤6:建立Apriori模型

步骤7:打印出规则数量 

步骤8:浏览规则

 

第一条规则的支持值为0.5。该数字是通过将包含“牛奶”,“面包”和“黄油”的交易数量除以交易总数而得出的。

该规则的置信度为0.846,这表明在同时包含“牛奶”和“面包”的所有交易中,也有84.6%的交易包含“黄油”。

提升1.241告诉我们,同时购买“牛奶”和“黄油”的顾客购买“黄油”的可能性是“黄油”的默认可能性的1.241倍。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多