当前位置:   article > 正文

python apriori库_Apriori算法(Python)

python akaprori模块

关联规则挖掘是数据挖掘中最活跃的研究方法之一,最早是针对购物篮分析问题提出的,其目的是为了发现交易数据库中不同商品之间的联系规则,这些规则刻画了顾客购买行为模式,可以用来指导商家科学地安排进货,库存以及货架设计等。而Apriori算法是第一个关联规则挖掘算法,也是最经典的算法。

以如下的场景为例,使用Python快速实现Apriori算法:

1.场景与需求

一家超市的业务数据库中有销售订单表如下:

id为订单号,name为商品名称

04fe9557ce2fc2821072858c72f7b5cb.png

由此我们展开关联规则的挖掘分析

2.环境准备

安装包:

pip install apyori

测试一下:

from apyori import apriori

3.数据准备与处理

由于目前数据库中以行列的形式存放数据,即:订单号-商品名称,若要使用apriori算法,无论使用SPSS还是Python都需要将数据处理成如下的数据结构:

[[订单1商品集],[订单2商品集],[订单3商品集],[订单4商品集]]。

由此展开如下处理步骤:

(1)数据准备

16583825f8bd70767c4757a015c3fd12.png

(2)数据处理

e907fd62de7d0063e97c79053824cc13.png

4.关联规则挖掘与说明

代码如下:

44565d754a3639242147452c0756dd90.png

d8da44ef177d326d184ce7fb74cc63fd.png

结果表如下:

3b3cd147e6f1eea4e862f4f76aa82b7e.png

在这里使用apriori算法库时,要了解它到一些参数如下:

Support(支持度):表示同时包含 A 和 B 的事务占所有事务的比例。如果用 P(A) 表示包含 A 的事务的比例,那么 Support = P(A & B);

Confidence(可信度):表示包含 A 的事务中同时包含 B 的事务的比例,即同时包含 A 和 B 的事务占包含 A 的事务的比例。公式表达:Confidence = P(A & B)/ P(A);

Lift(提升度):表示“包含 A 的事务中同时包含 B 的事务的比例”与“包含 B 的事务的比例”的比值。公式表达:Lift = ( P(A & B)/ P(A) ) / P(B) = P(A & B)/ P(A) / P(B)。提升度反映了关联规则中的 A 与 B 的相关性,提升度 > 1 且越高表明正相关性越高,提升度 < 1 且越低表明负相关性越高,提升度 = 1 表明没有相关性。

因此,在apriori算法中我们可以传入如下参数,来筛选项集:

min_support -- The minimum support of relations (float).最小支持度

min_confidence -- The minimum confidence of relations (float).最小可信度

min_lift -- The minimum lift of relations (float).最小提升度

max_length -- The maximum length of the relation (integer).序列最小长度

传入如下参数:

674c2addb34e7a5ba74ee5bce8457a0a.png

/*原创,转载请联系!*/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/356794
推荐阅读
相关标签
  

闽ICP备14008679号