【Apriori算法和FP-growth算法】
Apriori算法
通过例题解析算法思路
1、频繁项集思路描述
通过支持度算出min_sup,进行基础比较,大于min_sup的写入频繁1项集,然后依次写出2项集,直到k项集。
2、强关联解题思路
依托频繁项集,对强关联进行计算,然后与可信度进行比较。
FP-growth算法
优点:
1、FP-growth算法只需要对数据集遍历两次,所以速度更快。
2、FP树将集合按照支持度降序排序,不同路径如果有相同前缀路径共用存储空间,使得数据得到了压缩
3、不需要生成候选集
4、比Apriori更快
缺点:
1、FP-Tree第二次遍历会存储很多中间过程的值,会占用很多内存。
2、构建FP-Tree是比较昂贵的
算法部分:
1、项头表,里面记录所有的1项频繁集出现的次数,按照次数降序排列。然后将原数据进行排序。
2、构建FP树。
3、挖掘频繁项
① 对于项头表对应于FP树的每一项,我们要找到它的条件模式基。所谓条件模式基是以我们要挖掘的节点作为叶子节点所对应的FP子树。
② 得到这个FP子树,我们将子树中每个节点的的计数设置为叶子节点的计数,并删除计数低于支持度的节点。
③ 从这个条件模式基,我们就可以递归挖掘得到频繁项集了
我们很容易得到F的频繁2项集为{A:2,F:2}, {C:2,F:2}, {E:2,F:2}, {B:2,F:2}。递归合并二项集,得到频繁三项集为{A:2,C:2,F:2},{A:2,E:2,F:2},…还有一些频繁三项集,就不写了。当然一直递归下去,最大的频繁项集为频繁5项集,为{A:2,C:2,E:2,B:2,F:2}。
D节点比F节点复杂一些,因为它有两个叶子节点,因此首先得到的FP子树如下图左。我们接着将所有的祖先节点计数设置为叶子节点的计数,即变成{A:2, C:2,E:1 G:1,D:1, D:1}此时E节点和G节点由于在条件模式基里面的支持度低于阈值,被我们删除,最终在去除低支持度节点并不包括叶子节点后D的条件模式基为{A:2, C:2}
【Apriori算法和FP-growth算法】相关推荐
- 使用Apriori算法和FP-growth算法进行关联分析
目录 1. 关联分析 2. Apriori原理 3. 使用Apriori算法来发现频繁集 4. 使用FP-growth算法来高效发现频繁项集 5. 示例:从新闻网站点击流中挖掘新闻报道 扩展阅读 系列 ...
- 最长不下降子序列的O(n^2)算法和O(nlogn)算法
转帖 最长不下降子序列的O(n^2)算法和O(nlogn)算法 最长不下降子序列(LIS:Longest Increasing Subsequence) //用句通俗的话说,我讲的很通俗易懂~~ 问题 ...
- WordCount作业提交到FileInputFormat类中split切分算法和host选择算法过程源码分析
参考 FileInputFormat类中split切分算法和host选择算法介绍 以及 Hadoop2.6.0的FileInputFormat的任务切分原理分析(即如何控制FileInputForm ...
- Frequent Pattern 挖掘之二(FP Growth算法)(转)
FP树构造 FP Growth算法利用了巧妙的数据结构,大大降低了Aproir挖掘算法的代价,他不需要不断得生成候选项目队列和不断得扫描整个数据库进行比对.为了达到这样的效果,它采用了一种简洁的数据结 ...
- MapReduce框架下的FP Growth算法概述
转载自:http://blog.sina.com.cn/s/blog_68ffc7a40100uebi.html 前面的博客分析了关联分析中非常重要的一个算法-FP Growth.该算法根据数据库在内 ...
- FP Growth算法
转载自:http://blog.sina.com.cn/s/blog_68ffc7a40100uebg.html FP树构造 FP Growth算法利用了巧妙的数据结构,大大降低了Aproir挖掘算法 ...
- MapReduce框架下的FP Growth算法详解
转载自:http://blog.sina.com.cn/s/blog_68ffc7a40100uebk.html Sharding 这一步没什么好讲的,将数据库分成连续的大小相等的几个块,放置在不同的 ...
- KNN算法和Kernel KNN算法的区别
KNN算法和Kernel KNN算法的区别 KNN算法 KNN(K-Nearest Neighbor,简称KNN)算法,是一种常用的监督学习方法,其工作机制为:给定测试样本,基于某种距离度量找出训练集 ...
- FP Growth算法详解
看了n多资料,就这篇说的比较详细,适合初学者 FP树构造 FP Growth算法利用了巧妙的数据结构,大大降低了Aproir挖掘算法的代价,他不需要不断得生成候选项目队列和不断得扫描整个数据库进行比对 ...
- 贪心算法和01背包算法
贪心算法和01背包算法 实验报告 1.问题 2.解析 3.设计 4.分析 5.源码 实验报告 课程名称 <算法分析与设计> 实验名称 贪心算法和01背包算法 1.问题 [描述算法问题,首选 ...
最新文章
- android:更改PagerTabStrip背景颜色,标题字体样式、颜色和图标,以及指示条的颜色...
- 继BERT之后,这个新模型再一次在11项NLP基准上打破纪录
- 无监督学习和监督学习的区别
- Hadoop(MapR)分布式安装及自动化脚本配置
- 有一种小说叫“纯爱”:为“纯爱小说系列写的序言
- 策略模式示例代码_策略设计模式示例
- java版电子商务spring cloud分布式微服务b2b2c社交电商:服务容错保护(Hystrix断路器)...
- js检测密码强度的功能实现逻辑思路及实例
- UITableView 协议方法中更好的 switch 使用方案
- Shiro JSP 标签
- 4一20ma电流有源与无源区别_一文读懂有源信号、无源信号、干接点、湿接点
- 前端移动App开发环境搭建
- spark python编程 林子雨_林子雨编著《Spark编程基础(Python版)》教材第5章的命令行和代码...
- java 国际化 i18n
- 快手、抖音等短视频营销模式
- bootstrap 半透明背景_微信透明与半透明头像制作,全解析教程
- python---合并两个excel表格内容
- PyCharm 创建纯Python项目
- 光辉国际宣布陈兆丰先生为新任中国区总裁
- 纯原生javascript下拉框表单美化实例教程