FP-growth算法概述
在上一章介绍了“关联分析”这种无监督学习的原理。其中提到了利用Apriori算法来发现频繁项集。本章节介绍的FP-growth算法也是一种发现频繁项集的方法,该算法只需要对源数据集进行两次遍历,因此会比Apriori算法快两个数量级以上。
优点:运行速度快于Apriori算法。
缺点:原理比较复杂,理解比较困难。
使用数据类型:标称型数据。
入门案例




当FP树构建完成后,就可以抽取频繁项集了。由于涉及到比较复杂的数据结构,所以FP-growth算法的原理比较难懂,但好在原书中提供了通用的代码,因此我们可以更加关注如何使用该函数库完成我们自己的任务。但是请注意:FP-growth算法的目的只是找出频繁项集,它并不具备关联分析的能力,如果要做关联分析,还需要回顾上一节的内容。
工作原理
FP-growth算法是一种用于发现数据集中频繁模式的有效方法。由于只对数据集扫描2次,因此FP-growth算法执行更快。
在FP-growth算法中,数据集存储在一个成为FP树的结构中,首先产生候选集,然后扫描数据集来检查它们是否频繁。当FP树构建完成后,可以通过查找元素项的条件基及构建条件FP树来发现频繁项集(此段原理及代码都较复杂,请参考原书)。
一般流程
收集数据:使用任意方法。
准备数据:由于存储的是集合,所以需要离散数据。如果要处理连续数据,需要将它们量化为离散值。
分析数据:使用任意方法。
训练算法:构建一个FP树,并对树进行挖掘。
测试算法:不适用,因为是非监督学习。
使用算法:可用于识别经常出现的元素项,从而用于指定决策、推荐或进行预测。
可使用场景
1.搜索引擎的自动补全功能;
2.从社交媒体公布的数据源中发现高频词汇;
3.从大量的用户浏览行为数据中挖掘备受关注的内容;
......
同类笔记可点击这里查阅
网友评论