欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 【Python机器学习】Apriori算法——关联分析

【Python机器学习】Apriori算法——关联分析

2024/10/24 14:20:01 来源:https://blog.csdn.net/weixin_39407597/article/details/141183394  浏览:    关键词:【Python机器学习】Apriori算法——关联分析

从大规模数据集中寻找物品间的隐含关系被称为关联分析或者关联规则学习。这里的主要问题在于,寻找物品的不同组合是一项十分耗时的任务,所需的计算代价很高,蛮力搜索方法并不能解决这个问题,所以需要用更智能的方法在合理的时间范围内寻找频繁项集。

Apriori算法就可以解决上述问题。

Apriori算法的优缺点:

优点:易编码实现

缺点:在大数据集上可能较慢

使用数据类型:数值型或者标称型数据。

关联分析是一种在大规模数据集中寻找有趣任务的任务。这些关系可以有两种形式:频繁项集或者关联规则。频繁项集是经常出现在一块的物品的集合,关联规则暗示两种物品质检可能存在很强的关系。

比如下面的例子:这是某个杂货铺的交易清单:

订单号商品
0

豆奶、莴苣

1莴苣、尿布、葡萄酒、甜菜
2豆奶、尿布、葡萄酒、橙汁
3莴苣、豆奶、尿布、葡萄酒
4莴苣、豆奶、尿布、橙汁

频繁项集是指那些经常出现在一起的物品集合。上表中的集合{葡萄酒、尿布、豆奶}就是频繁项集的一个例子。从上面的数据集中也可以找到例如尿布-葡萄酒的关联规则。这意味着如果有人买了尿布,那么他也很可能买葡萄酒。使用频繁项集和关联规则,商家可以更好的理解他们的顾客。尽管大部分关联规则分析的实例来自零售行业,但该技术同样可以用于其他行业。

当寻找频繁项集时,频繁的定义一般是指支持度和可信度。

一个项集的支持度被定义为数据集中包含该项集的记录所占的比例。杂货铺的例子中可以得到,{豆奶}的支持度是4/5。而在5条记录中,有3条包含{豆奶、尿布},因此{豆奶、尿布}的支持度为3/5。支持度是针对项集来说的,因此可以定义一个最小支持度,而只保留满足最小支持度的项集。

可信度或者置信度是针对一条{尿布}→{葡萄酒}的关联规则来定义的。这条规则的可信度被定义为“支持度({尿布、葡萄酒})/支持度({尿布})”。由于{豆奶、尿布}的支持度为3/5,{尿布}的支持度是4/5,所以尿布→葡萄酒的可信度为3/4=0.75。这意味着对于包含尿布的所有记录,我们的规则对其中75%的记录都适用。

支持度和可信度是用来量化关联分析是否成功的方法,假设想找到支持度大于0.8的所有项集,一个方法是生成一个物品所有可能组合的清单,然后对每一种组合统计它出现的频繁程度,但当物品成千上万时,上述做法非常非常慢。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com