使用Apriori算法寻找频繁样式(Frequent Patterns)
什么是频繁样式
频繁样式(Frequent Patterns)是指在一个数据集中出现频率最高的样式(可以是一组样本集合,子列,子结构等)
Apriori算法
Apriori算法使用支持度(support)和置信度(confidence),通过剪枝来生成样式集,最终找出存在于数据集中的频繁样式。
- 支持度
样式中同时包含A和B的概率
Support(A⟹B)=P(A⋃B)Support(A \implies B) = P(A \bigcup B)Support(A⟹B)=P(A⋃B)
- 置信度
样式中如果包含A,则也包含B的概率
Confidence(A⟹B)=P(B∣A)Confidence(A \implies B) = P(B | A)Confidence(A⟹B)=P(B∣A)
- 性质
频繁样式的所有非空子集也必须是频繁样式。
- 实现过程
① 列出所有的样式。
② 给定一个最小支持度阈值sup,列出一项候选集C1。计算C1的支持度,去除小于sup的样式,得到一项样式L1;列出二项候选集C2。计算C2的支持度,去除小于sup的样式,得到二项样式L2;以此类推,最终得到频繁样式。
示例
商场中统计了每位顾客购买的商品列表。从数据库中取出一部分数据如下
客户ID | 购买的商品 |
---|---|
1 | A, B, D |
2 | A, C, D |
3 | A, D, E |
4 | B, E, F |
5 | B, C, D, E, F |
1)关联规则说明
那么关联规则的一个实例为:
A → D (support=60% , confidence=100%)
因为包含A和D的样式共有三个,而总共有五个样式,所以支持度为60%
包含A的样式共有三个,同时包含D的样式也是这三个,所以置信度为100%
D → A (support=60% , confidence=75%)
因为包含A和D的样式共有三个,而总共有五个样式,所以支持度为60%
包含D的样式共有四个,同时包含A的样式其中三个,所以置信度为75%
2)算法计算示例
给定最小支持度sup=0.5。
① 所有的样式为
客户编号 | 商品列表 |
---|---|
1 | A, C, D |
2 | B, C, E |
3 | A, B, C, E |
4 | B, E |
② 列出一项候选集C1
样式 | 支持度 |
---|---|
{A} | 0.5 |
{B} | 0.75 |
{C} | 0.75 |
{D} | 0.25 |
{E} | 0.75 |
由于样式{D}的支持度小于sup,所以要去除。得到一项样式L1为
样式 | 支持度 |
---|---|
{A} | 0.5 |
{B} | 0.75 |
{C} | 0.75 |
{E} | 0.75 |
③ 列出二项候选集C2
样式 | 支持度 |
---|---|
{A, B} | 0.25 |
{A, C} | 0.5 |
{A, E} | 0.25 |
{B, C} | 0.5 |
{B, E} | 0.75 |
{C, E} | 0.5 |
由Apriori算法的性质,频繁样式的所有非空子集也必须是频繁样式,因为样式{D}已经被取出,所以包含{D}的样式不再需要考虑。
这次扫描过后,样式{A, B}和样式{A, E}被去除,得到二项样式L2
样式 | 支持度 |
---|---|
{A, C} | 0.5 |
{B, C} | 0.5 |
{B, E} | 0.75 |
{C, E} | 0.5 |
④ 列出三项候选集C3
样式 | 支持度 |
---|---|
{B, C, E} | 0.5 |
由Apriori算法的性质,只有样式{B, C, E}符合要求,且支持度也满足条件。
所以最终找到的频繁样式就是{B, C, E}
将结果套用到生活中进行解释,就是说顾客同时购买B, C, E三个商品,是概率最大且商品种类最多的。
使用Apriori算法寻找频繁样式(Frequent Patterns)相关推荐
- 河北工业大学数据挖掘实验三 应用 Apriori 算法挖掘频繁项集
河北工业大学数据挖掘实验三 应用 Apriori 算法挖掘频繁项集 一.实验目的 二.实验原理 1.Apriori 算法 2.提高频繁项集逐层产生的效率 三.实验内容和步骤 1.实验内容 2.实验步骤 ...
- Apriori算法挖掘频繁项集
用Apriori或者FP-growth算法挖掘出所有的频繁项集,并写出具体的实现代码.假设事务数据库D表1:最小支持度计数为2. 下图是以Apriori算法为例. 表1 事务数据库D Ti ...
- python数据挖掘(5.Apriori算法)
数据源 第一章我们介绍了最基础的亲和性分析,尝试了所有的规则计算了所有的置信度和支持度,但是这个方法效率不高而且我们使用的数据集只有5种商品,但是实际生活中即使是小商店的商品也会超过百种,而网店商品的 ...
- [数据挖掘] 关联规则 Apriori算法实现到PFP(paralled frequent pattern)算法
数据挖掘--关联规则与Apriori算法 1. 关联分析(Association analysis) 理解: 2. 相关概念 3. Apriori算法查找频繁项集 3.1 Apriori算法的原理: ...
- 关联规则—频繁项集Apriori算法
转载地址:http://liyonghui160com.iteye.com/blog/2080531 一.前言 频繁模式和对应的关联或相关规则在一定程度上刻画了属性条件与类标号之间的有趣联系,因此将关 ...
- Apriori算法简介---关联规则的频繁项集算法
由啤酒和尿布引出: 在一家超市中,人们发现了一个特别有趣的现象:尿布与啤酒这两种风马牛不相及的商品居然摆在一起.但这一奇怪的举措居然使尿布和啤酒的稍量大幅增加了.这可不是一个笑话,而是一直被商家所津津 ...
- 挖掘频繁模式、关联和Apriori算法
挖掘频繁模式.关联和Apriori算法 1. 引入 1.1 基本概念 频繁模式:频繁出现在数据集中的模式 频繁模式挖掘:获取到给定数据集中反复出现的联系 注:模式其实可以理解为,你在淘宝购物,你的购物 ...
- apriori算法_挖掘频繁模式、关联和Apriori算法
挖掘频繁模式.关联和Apriori算法 1. 引入 1.1 基本概念 频繁模式:频繁出现在数据集中的模式 频繁模式挖掘:获取到给定数据集中反复出现的联系 注:模式其实可以理解为,你在淘宝购物,你的购物 ...
- 关联分析——频繁项集的产生之Apriori算法
关联分析--频繁项集的产生之Apriori算法 频繁项集的产生-Apriori算法 Apriori算法的Python实现 提取1-项集 提取频繁k-项集 生成候选k-项集 Apriori算法 封装 频 ...
最新文章
- 在R中子集化数据框的5种方法
- MATLAB的iptcheckinput函数详解
- Java教程之RabbitMQ介绍
- weblogic9修改线程数设置
- kafka压力测试说明
- ubuntu16.04下安装ibus拼音
- php 动态加载html内容_ThinkPHP5.1+Swoole实现的开源内容管理框架
- js 遍历对象的几种方法
- 【Docker】docker bash: sudo: command not found
- linux make项目管理器,Linux中makefile项目管理
- for里面嵌套if_求求你们了,别再写满屏的 if/ else 了!
- CCLayer中Touch事件(Standard Touch Delegate Targeted Touch Delegate)
- summernote富文本编辑器配合validate表单验证无法进行表单提交的问题
- OpenModelica.VehicleInterfaces离线库安装
- SPSS读取数据出现中文字符显示乱码的解决方案
- linux搭建雷霆传奇h5源码,【雷霆传奇H5服务端】2020.07最新超好看大羽翼传奇网页游戏程序[附超详尽构建实例教程]...
- 计算机技术专硕学制两年的学校,专硕一般读几年
- Zip伪加密 破解ZIP密码
- 毕业设计 STM32单片机的智能公路收费站系统 - 物联网
- 服务器虚拟化专用ovf模板,开放虚拟化格式(OVF)