数据挖掘常见算法(关联)

Apriori算法

Apriori算法基于频繁项集性质的先验知识,使用由下至上逐层搜索的迭代方法,即从频繁1项集开始,采用频繁k项集搜索频繁k+1项集,直到不能找到包含更多项的频繁项集为止。

Apriori算法由以下步骤组成,其中的核心步骤是连接步和剪枝步:

  1. 连接步

  2. 剪枝步

eg1:

eg2:

|-----|-------------|
| TID | ItemSet |
| 1 | 啤酒,尿布,牙膏 |
| 2 | 尿布,牙膏,面包,牛奶 |
| 3 | 啤酒,牙膏,牛奶 |
| 4 | 尿布,牙膏,面包 |
| 5 | 尿布,牙膏,面包,牛奶 |

(1)写出Apriori算法生成频繁项目集的结果(MinSupport=60%)

Apriori算法------不足

①对数据库的扫描次数过多

②Apriori算法会产生大量的中间项集

③采用唯一支持度,没有将各个属性的重要程度的不同都考虑进去

④算法的适应面窄

Apriori算法------改进

①通过减少扫描数据库的次数改进I/O的性能;

②改进产生频繁项集的计算性能;

③寻找有效的并行关联规则算法;

④引入抽样技术改进生成频繁项集的I/O和计算性能;

⑤扩展应用领域。比如展开定量关联规则、泛化关联规则及周期性的关联规则的研究。

FP-Growth算法

频繁模式树增长算法(Frequent Pattern Tree Growth)采用分而治之的基本思想,将数据库中的频繁项集压缩到一棵频繁模式树中,同时保持项集之间的关联关系。然后将这棵压缩后的频繁模式树分成一些条件子树,每个条件子树对应一个频繁项,从而获得频繁项集,最后进行关联规则挖掘。

FpGrowth算法的平均效率远高于Apriori算法,但它并不能保证高效率,它的效率依赖于数据集。Fptree还需要其他的开销,需要存储空间更大,使用FpGrowth算法前,首先需要对数据分析,在决策是否采用FpGrowth算法。

相关推荐
墨染天姬6 分钟前
【AI】cursor提示词小技巧
前端·数据库·人工智能
Raink老师8 分钟前
【AI面试临阵磨枪-40】文本切块(Chunking)策略:固定长度、语义切块、递归切块、重叠设计
人工智能·ai 面试
techdashen17 分钟前
p99 延迟从 9.5 毫秒降到 18 微秒:Cloudflare 机器学习基础设施重构全记录
人工智能·机器学习·重构
AI服务老曹22 分钟前
架构师视角:如何构建支持GB28181/RTSP的异构AI视频平台?从Docker部署到源码交付的深度实践
人工智能·docker·音视频
IT_陈寒1 小时前
Vite热更新失效?你可能漏了这个小细节
前端·人工智能·后端
机器之心1 小时前
今天起,Claude正式接入Office全家桶,跨应用还能共享记忆
人工智能·openai
机器之心1 小时前
破案了!为啥ChatGPT老想着「稳稳地接住你」
人工智能·openai
二哈赛车手2 小时前
新人笔记---Spring AI的Advisor以及其底层机制讲解(涉及源码),包含一些遇见的Spring AI的Advisor缺陷问题的解决方案
java·人工智能·spring boot·笔记·spring
sali-tec2 小时前
C# 基于OpenCv的视觉工作流-章66-直线夹角
图像处理·人工智能·opencv·算法·计算机视觉
不背八股的AI选手2 小时前
《别再“喂prompt赌运气”了:我的AI开发工程化管理实践》
人工智能