从大规模数据集中寻找物品间的隐含关系被称作关联分析或关联规则学习。过程分为两步:1.提取频繁项集。2.从频繁项集中抽取出关联规则。 频繁项集是指经常出现在一块的物品的集合。 关联规则是暗示两种物品之间可能存在很强的关系。 一个项集的支持度被定义为数据集中包含该项集的记录所占的比例,用来表示项集的频繁程度。支持度定义在项集上。 可信度或置信度是针对一条诸如{尿布}->{葡萄酒}的关联规则来定义的。这条规则的可信度被定义为“支持度({尿布,葡萄酒})/支持度({尿布})”。 寻找频繁项集 Apriori原理:如果某个项集是频繁的,那么它的所有子集也是频繁的。反过来,如果一个项集是非频繁项 关联分析是一种数据挖掘技术,主要用于发现大规模数据集中的有趣关系,比如购物篮分析中的商品组合。Apriori算法是关联规则学习的经典算法,由Rakesh Agrawal和Ramakrishnan Srikant于1994年提出,主要用于提取频繁项集和生成关联规则。 在关联分析中,频繁项集是核心概念。一个频繁项集是数据集中出现次数超过预设阈值(即最小支持度)的物品集合。例如,如果在超市的销售记录中,“尿布”和“葡萄酒”经常一起被购买,那么“尿布”和“葡萄酒”的项集就是一个频繁项集。支持度是衡量频繁程度的指标,计算方法是该项集出现的记录数除以总记录数。 关联规则则用来表达频繁项集之间的关系,如“购买尿布的人很可能也买葡萄酒”。关联规则的可信度是评估其强度的重要标准,定义为规则右部项集的支持度除以规则左部项集的支持度。比如,“尿布→葡萄酒”的可信度是“尿布和葡萄酒”项集的支持度除以“尿布”项集的支持度。 Apriori算法遵循两个关键原则: 1. 如果一个项集是频繁的,那么它的所有子集也是频繁的。 2. 如果一个项集是非频繁的,那么它的所有超集也是非频繁的。 Apriori算法的基本步骤如下: 1. 初始化:生成所有单个物品的项集列表。 2. 扫描交易记录,保留满足最小支持度的单个项集。 3. 生成并检查长度为2的项集,删除不满足最小支持度的项集,重复此过程直到没有新的项集可生成。 4. 通过组合剩余的频繁项集生成更长的候选集,继续扫描数据,直到找不到满足条件的项集。 5. 从频繁项集中生成关联规则,确保每个规则的可信度大于最小可信度。 在Python中实现Apriori算法,通常会涉及以下步骤: 1. 加载数据集。 2. 创建长度为1的项集列表(C1)。 3. 使用scanData函数扫描数据,找到满足最小支持度的项集,并更新支持度数据。 4. 使用aprioriGen函数生成更长的候选集。 5. 递归地执行步骤3和4,直到找不到新的频繁项集。 6. 使用generaterRules函数从频繁项集生成关联规则,设置最小置信度阈值。 给出的代码段中,`loadDataSet`用于加载示例数据集,`createC1`用于创建初始候选集C1,`scanData`用于查找频繁项集,`apriori`是Apriori算法的主要实现,`generaterRules`用于生成关联规则。整个过程展示了如何在Python环境中应用Apriori算法进行关联性分析。
- 粉丝: 4
- 资源: 898
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0