红酒哪个网站做的好,保网官网,网站源码修复,网站建设实验总结百科Apriori 算法apriori关联规则算法的原理设计较为简单#xff0c;著名的“啤酒和尿布”说的就是Apriori算法#xff0c;通俗来讲apriori旨在寻找频繁项集#xff0c;以帮助商家将消费者有可能一起搭配购买的物品放置在同一个地方#xff0c;提高消费者的购物效率和良好的购物…Apriori 算法apriori关联规则算法的原理设计较为简单著名的“啤酒和尿布”说的就是Apriori算法通俗来讲apriori旨在寻找频繁项集以帮助商家将消费者有可能一起搭配购买的物品放置在同一个地方提高消费者的购物效率和良好的购物体验感。Apriori还是十大数据挖掘算法之一可见Apriori关联规则算法的重要性。(一)算法基本理论1、基本概念Apriori是最常用最经典的挖掘频繁项集的算法其核心思想是通过连接产生候选项及其支持度然后通过剪枝生成频繁项集。在一个数据集中找出项之间的关系比如购买鞋子用户10%可能也会去购买袜子。该算 法通过计算3个值来寻找强关联规则2、基本名词解释1事务每一条交易称为一个事务2项交易的每一个物品称为一个项3项集包含零个或者多个项的集合叫做项集4K-项集包含K个项的项集叫做K-项集比如{colaegg}叫做2-项集5频繁项集支持度大于等于某个阈值的项集就叫做频繁项集3、关键值支持度、置信度、提升度计算这个3个值来寻找强关联规则1A-B支持度表示同时购买A、B的订单数占总订单数的比例2A-B置信度表示购买A物品订单同时购买了B物品订单的比例即等于同时购买A和B订单数占购买A物品订单数比例条件概率。置信度表示购买A物品有多少概率去购买B物品。3A-B提升度表示购买A物品的用户同时购买B物品的用户数占购买B物品的比例计算公式为置信度/B物品占总数的比例。如果大于1表示正相关性越高如果等于1表示没有相关性互相独立如果小于1则表示负相关性越高。一般在提升度大于3则认为提升度是有价值的。4、结论A-B购买A的用户有【置信度】的概率去购买B而这种情况发生的概率为【支持度】1满足支持度和置信度的规则称之为【强关联规则】该又分【无效强关联规则】和【有效强关联规则】2无效强关联规则如果提升度1则表示无效强关联规则3有效强关联规则如果提升度1则表示有效强关联规则二算法实现案例演示求最小支持度计数为2的候选项集及频繁项集。数据集样例演示数据集来源于网络首先找出频繁“1项集”的集合该集合记作L1。L1用于找频繁“2项集”的集合L2而L2用于找L3。如此下去直到不能找到“K项集”。找每个Lk都需要一次数据库扫描。核心思想是连接步和剪枝步。连接步是自连接原则是保证前k-2项相同并按照字典顺序连接。剪枝步是使任一频繁项集的所有非空子集也必须是频繁的。反之如果某个候选的非空子集不是频繁的那么该候选肯定不是频繁的从而可以将其从CK中删除。简单的讲1、发现频繁项集过程为1扫描2计数3比较4产生频繁项集5连接、剪枝产生候选项集 重复步骤1~5直到不能发现更大的频集Apriori 性质任一频繁项集的所有非空子集也必须是频繁的。意思就是说生成一个k-itemset的候选项时如果这个候选项有子集不在(k-1)-itemset(已经确定是frequent的)中时那么这个候选项就不用拿去和支持度判断了直接删除。比如K项集{I1,I3,I5}如果任一个子集{I1},{I3},{I5},{I1,I3},{I1,I5},{I3,I5}不在之前的K-1项集的频繁项集里那么就把该{I1,I3,I5}候选项集去掉。开始分析第一次扫描 左边为候选项集C1右边为频繁项集L1第二次扫描左边为C2右边为L2去掉最小支持度小于2的项。连接是指产生候选项如两项{I1,I2},{I1,I3}三项{I1,I2,I3},{I1,I2,I4}等。L2自身连接根据算法性质注意理解这样只需要对有可能成为频繁项集的候选项集进行处理提高效率如果看得出下一步结果这一步以及剪枝可以省略直接进行第三次扫描剪枝得到剪枝规则是将自身连接得到的C2将次数小于最小支持度2的剪掉第三次扫描左边为C3右边为L3得到最终结果如果购买I1那么可以推荐I2,I3或者I2,I5给用户搭配购买。三算法优缺点优点Apriori算法使用Apriori性质来生产候选项集的方法大大压缩了频繁集的大小 取得了很好的性能。缺点每一次迭代都要遍历整个数据进行计数计算和判断运行效率低。四参考资料[1] 参考公式https://www.jianshu.com/p/26d61b83492e[2] 参考案例https://blog.csdn.net/qq_28697571/article/details/84678422[3] 参考流程https://www.jianshu.com/p/d0dc8c8bf465今天的文章主要是Apriori算法的理论以及如何实现的案例流程思路后续将用python语言来实现算法进行频繁项集的实战挖掘并公开到github方便大家一起交流学习。想学习python、数据分析、可视化、机器学习、深度学习、目标检测、NLP情感分析中的哪些内容欢迎大家留言小编会根据大家的需要来写哦感谢大家的关注有不懂的地方或者文章有不足的地方欢迎留言一起探讨学习觉得文章对你有帮助点赞、关注、转发喔