【机器学习基础】Apriori算法

Apriori算法是一种关联规则挖掘方法,用于找出数据集中的频繁项集和关联规则。本文介绍了关联规则的基本概念,如支持度和置信度,并详细阐述了Apriori算法的工作原理和Python实现,包括构造数据集、生成候选集、计算支持度以及生成关联规则的过程。
摘要由CSDN通过智能技术生成

目录

 

1 关联规则简介

2 相关定义

3 Apriori简介

4 Apriori代码功能详解(Python3)

4.1构造数据集

4.2生成第一层候选集

4.3计算给定候选集的支持度

4.4候选集生成函数

4.5生成频繁项集的主函数

4.6 生成关联规则

5 参考材料


1 关联规则简介

关联规则分析也称为购物篮分析,最早是为了发现超市销售数据库中的不同商品之间的关联关系。关联规则反映的是一个事物与其他事物之间的关联性,如果多个事物之前存在着某种关联关系,那么其中的一个事物就可以通过其他事物预测到。

比较经典的一个案例就是啤酒与尿布的例子,20世纪90年代,美国沃尔玛超市的管理人员在分析销售数据时,发现了一个令人难以理解的现象:在某些特定的情况下,“啤酒”与“尿布”这两个看上去毫无关联的物品,经常会出现在同一个购物篮中,且大多数出现在年轻的父亲身上。分析背后的原因之后才发现,在美国有婴儿的家庭中,一般都是母亲在家照顾婴儿,父亲出门购买尿布,而这个时候父亲会给自己买一份啤酒。如果把这两个物品放在同一个区域进行销售,就很有可能会增加营业额。

这个故事就已经告诉我们,各个行业的运营其实都离不开对数据的分析。本文的Apriori算法就是通过对数据进行挖掘,找出其中的频繁项集和关联规则。

2 相关定义

    定义1 关联规则。两个不相交的非空集合X,Y,如果存在X->Y,其中X称为前项,Y称为后项,那么就称X->Y是一条关联规则,比如{尿布}->{啤酒}。关联规则的强度可以由支持度和置信度来衡量,支持度和置信度会在下面两个定义中展开。

    定义2 支持度。对于一条关联规则X->Y,支持度描述的是前项X和后项Y在一个数据集中同时出现的概率:

                                                 

    定义3 置信度。在X发生的前提下,Y发生的概率称为关联规则X->Y的置信度。

                                                 

 

3 Apriori简介

该算法的基本思想:第一步先找到所有的频繁项集,这个时候算法一般会让用户预先设定一个最小支持度,在这一步的时候,只筛选出那些至少满足最小支持度的频繁项集。第二步根据第一步生成的频繁项集来找出基于支持度和置信度的关联规则。

在算法中有两个重要的定理,根据这两个定理我们可以加速算法的执行过程。

    定理1 如果一个项集是频繁项集,则它的所有子集都是频繁项集,比如{A,B}是频繁项集,那么{A},{B}都是频繁项集。

    定理2 如果一个项集不是频繁项集,则它的所有超集都不是频繁项集。比如{A}不是频繁项集,那么它的超集比如{A,B},{A,B,C}等都不是频繁项集。

有了这两个定理之后,下面给出算法的伪代码:

Algorithm Apriori算法执行流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值