是什么:

apriori算法是第一个关联规则挖掘算法,利用逐层搜索的迭代方法找出数据库中的项集(项的集合)的关系,以形成规则,其过程由连接(类矩阵运算)与剪枝(去掉没必要的中间结果)组成。是一种挖掘关联规则的频繁项集算法,一种最有影响的挖掘布尔关联规则频繁项集的算法。核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集。

关联规则挖掘,在最早提出时,是为了发现交易数据库中不同商品之间的联系规则。刻画顾客购买行为模型,指导商家科学地进行进货,库存以及货架设计等。

改进的算法有:并行关联规则挖掘Parallel Association Rule Mining,以及数量关联规则挖掘Quantitive Association Rule Mining。提高挖掘规则算法的效率,适应性,可用性以及应用推荐。

频繁项集的评估标准:支持度,置信度,提升度三个方面。

应用领域:在商业,网络安全广泛使用。通过对数据的关联性进行了分析和挖掘,挖掘出的这些信息在决策制定过程中具有重要的参考价值。

在消费市场价格分析中,能够很快求出各种产品之间的价格关系和它们之间的影响,可以瞄准目标客户,采用个人股票行市,最新细心,特殊的市场推广活动或其他的一些特殊信息手段,减少广告预算和增加收入。预测客户的消费习惯。

相关概念:

支持度:a和b同时出现的概率,或者是几个关联的数据在数据集中出现的次数占总数据集的比重。

置信度:a和b同时出现的概率占a出现概率的比值,或者是一个数据出现后,另一个数据出现的概率,或者说数据的条件概率。

提升度:表示含有y的条件下, 同时含有x的概率,与x总体发生的概率之比。提升度体现了x和y之间的关联关系,提升度大于1则xy是有效的强关联规则,小于等于1则是无效的强关联规则。

频繁项集:频繁项集挖掘可以告诉我们在数据集中经常一起出现的变量,为可能的决策提供一些支持。频繁项集挖掘是关联规则,相关性分析,因果分析,序列项集,局部周期性等许多数据挖掘任务的基础。应用在购物车分析,网页预取,交叉购物,个性化网站等。

强关联规则:满足最小支持度和最小置信度的关联规则。

相类似的算法:

PrefixSpan

CBA

FP-Tree

GSP


FP-growth 算法

属于关联分析算法,采取的分治策略如下:将提供频繁项集的数据库压缩到一颗频繁模式树FP-Tree ,保留项集关联信息。在算法中使用了一种称为频繁模式树的数据结构,fp-tree是一种特殊的前缀树,有频繁项头表和项前缀树构成。用于改善Apriori算法,加快整个挖掘过程。

相关概念:

FP-Tree :将事务数据表中的各个事务数据项按照支持度排序后,把每个事务中的数据项按降序一次插入到一颗以null为根节点的树中,同时在每个节点处记录该节点出现的支持度。

条件模式基:包含FP-Tree中与后缀模式一起出现的前缀路径的集合。

条件树:将条件模式基按照FP-Tree的构造原则形成的一个新的FP-Tree。

基本思路:不断的迭代FP-Tree的构造和投影过程。

算法描述:

  1. 对于每个频繁项,构造ta 的条件投影数据库和投影FP-Tree
  2. 对每个新构建的FP-Tree重复这个过程,知道构造新的FP-Tree为空,或者只包含一条路径。
  3. 当构造的FP-Tree为空时,其前缀即为频繁模式,当只包含一条路径时,通过枚举所以可能组合并与此树的前缀连接即可得到频繁模式。

该算法的流程为:首先构造FP树,然后利用ta来挖掘频繁项集。在构造fp树时,需要对数据集扫描两次,一次为用来统计频率(频次和频率),第二次扫描至考虑频繁项集。

缺点:

  1. 对数据库扫描数次过多
  2. apriori会产生大量的中间项集
  3. 采用唯一支持度
  4. 算法的适应面窄

参考:

https://bainingchao.github.io/2018/09/27/%E4%B8%80%E6%AD%A5%E6%AD%A5%E6%95%99%E4%BD%A0%E8%BD%BB%E6%9D%BE%E5%AD%A6%E5%85%B3%E8%81%94%E8%A7%84%E5%88%99Apriori%E7%AE%97%E6%B3%95/​bainingchao.github.io数据挖掘十大算法--Apriori算法_小硒---代码无疆-CSDN博客​blog.csdn.net

Suranyi:Apriori 算法简介及 python3实现​zhuanlan.zhihu.com

机器学习(九)-FP-growth算法 - Yabea - 博客园​www.cnblogs.com

FP Tree算法原理总结 - 刘建平Pinard - 博客园​www.cnblogs.com

FP-growth算法--原理_jmhIcoding-CSDN博客​blog.csdn.net

Superman:FP-Growth算法简介​zhuanlan.zhihu.com

apriori算法代码_sklearn(九)apriori 关联规则算法,以及FP-growth 算法相关推荐

  1. 06 聚类算法 - 代码案例二 - K-Means算法和Mini Batch K-Means算法比较

    03 聚类算法 - K-means聚类 04 聚类算法 - 代码案例一 - K-means聚类 05 聚类算法 - 二分K-Means.K-Means++.K-Means||.Canopy.Mini ...

  2. Frequent Pattern 挖掘之二(FP Growth算法)(转)

    FP树构造 FP Growth算法利用了巧妙的数据结构,大大降低了Aproir挖掘算法的代价,他不需要不断得生成候选项目队列和不断得扫描整个数据库进行比对.为了达到这样的效果,它采用了一种简洁的数据结 ...

  3. MapReduce框架下的FP Growth算法概述

    转载自:http://blog.sina.com.cn/s/blog_68ffc7a40100uebi.html 前面的博客分析了关联分析中非常重要的一个算法-FP Growth.该算法根据数据库在内 ...

  4. FP Growth算法

    转载自:http://blog.sina.com.cn/s/blog_68ffc7a40100uebg.html FP树构造 FP Growth算法利用了巧妙的数据结构,大大降低了Aproir挖掘算法 ...

  5. MapReduce框架下的FP Growth算法详解

    转载自:http://blog.sina.com.cn/s/blog_68ffc7a40100uebk.html Sharding 这一步没什么好讲的,将数据库分成连续的大小相等的几个块,放置在不同的 ...

  6. FP Growth算法详解

    看了n多资料,就这篇说的比较详细,适合初学者 FP树构造 FP Growth算法利用了巧妙的数据结构,大大降低了Aproir挖掘算法的代价,他不需要不断得生成候选项目队列和不断得扫描整个数据库进行比对 ...

  7. java冒泡排序算法代码降序_冒泡排序(起泡排序)算法及其C语言实现

    起泡排序,别名"冒泡排序",该算法的核心思想是将无序表中的所有记录,通过两两比较关键字,得出升序序列或者降序序列. 例如,对无序表{49,38,65,97,76,13,27,49} ...

  8. c语言八数码A星算法代码解析,八数码问题c语言a星算法详细实验报告含代码解析...

    八数码问题c语言a星算法详细实验报告含代码解析 (13页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 一.实验内容和要求 八数码问题:在3 ...

  9. 基于halcon的木板缺陷检测算法代码-基于halcon的区域增长、大津分割算法、直方图均衡化

    关键词:Halcon:图像处理:视觉检测:木板缺陷检测:特征提取 对于木条.木板等木制品表观缺陷检测,是机器视觉检测在工业中的一个主要应用,而在这其中节子的提取和检测又是一项重要的品控检测指标,本文以 ...

最新文章

  1. C++格式化输入输出
  2. 红曲面怎么做_新年就要“红”运当头 买款高颜值红色旗舰让年味更浓
  3. unsafe jdk9_JDK 9清单:Project Jigsaw,sun.misc.Unsafe,G1,REPL等
  4. eclipse preference没有server_Java Web开发的前期准备工作,部署Tomcat服务器和Server环境创建...
  5. FlygonTiebaToolkit 的开源决定
  6. 吴恩达悄然发布AI维基,另外他的技术岗已经招满了
  7. Codeforces Round #518 (Div. 2): E. Multihedgehog(模拟)
  8. 如何修正EPS编辑框中汉字输入显示为问号
  9. jna调取第三方dll实战(罗技G29)
  10. php agrs zf2,添加ZF2_PATH environment variable 环境变量
  11. 零基础无实物一步一步学PLCS7-1200仿真(一)--电动机的点动控制
  12. Windows Server 2008 使用“net use”挂载网络共享时“发生系统错误53”的解决方案
  13. 如何搭建一个站内搜索引擎(一) 第1章 写在最前
  14. 奶爸英语学习课程要点(4-6课)
  15. Android 8.1 【FriendlyARM】编译环境搭建与镜像烧写
  16. php mysql md5加密_php 用户密码MD5加密存入数据库问题//
  17. 匹配字符串-正则表达式
  18. JAVA中String、StringBuffer和StringBuider类
  19. 海思3516开发记录-AAC音频解码
  20. thinkphp 面包屑导航

热门文章

  1. js获取checkbox值的方法
  2. .net 使用阿里云RocketMQ
  3. 小程序云开发搜索功能的实现正则_码code | 如何借助小程序云开发实现小程序支付功能...
  4. linux 培训6,Linux Syscalls有 6个参数(Linux Syscalls with 6 parameters)
  5. 【mysql分区分表】mysql 按时间分区 【partition】
  6. springboot 2.x tomcat war包部署 localhost-startStop-1 启动卡顿卡死
  7. SecureCRT Application 已停止工作
  8. Python爬虫自学之第(⑤)篇——爬取某宝商品信息
  9. docker容器配置加速器
  10. Android 集成高德地图——当前定位,添加图标,画路线,设置显示中心位置,比例,地图刷新位置监听,判断GPS开启,去打开GPS