数据挖掘--挖掘频繁模式、关联和相关性:基本概念和方法

数据挖掘--引论

数据挖掘--认识数据

数据挖掘--数据预处理

数据挖掘--数据仓库与联机分析处理

数据挖掘--挖掘频繁模式、关联和相关性:基本概念和方法

数据挖掘--分类

数据挖掘--聚类分析:基本概念和方法


频繁项集、闭项集和关联规则

频繁项集:出现的次数超过最小支持度计数阈值

闭频繁项集:一个集合他的超集(包含这个集合的集合)在数据库里面的数量和这个集合在这个数据库里面的数量不一样,这个集合就是闭项集

如果这个集合还是频繁的,那么他就是极大频繁项集

项集{a,b}出现在TID为1,2的事务中,其支持度计数为2。而它的直接超集{a,b,c}支持度计数也为2,所以{a,b}不是闭项集。

Apriori算法

手撕例题

STEP1.候选1项集→频繁1象集

拿到候选数据后,我们先筛选出候选频繁1象集,并算出它们的支持度【支持度=有购买该物品的人/总人数】 ,完成这一操作后,将它和题目中给出的最小支持度作比较,从而得到频繁1象集!

STEP2-3.重复上述步骤, 进行候选2项集→频繁2象集;候选3项集→频繁3象集的过程直到不能够再往下为止(例如,本题到频繁3象集,{面、奶、酒}为止)。

STEP4.写出最终频繁N象集的非空真子集,如题中**{面、奶、酒}的非空真子集** 如下所示,并分别计算它们的置信度!(注意!这里不再是计算支持度了哈!别和上面搞混了!)

举个例子,我们要求{面}→{奶、酒}的置信度,翻译一下即,我们想知道买了面的人,有多大可能性也买了奶、酒,即同时买面、奶、酒的人数/买面的人数=2/3!

后续同理,我们可以得到所有关系的置信度,最后我们再拿题干中的最小置信度和算出来的置信度进行比较 !就能得出最终的强关联规则(同时满足最小支持度、置信度)

fp树

先建立频繁1项集

递减排序

通过一行行事务进行建立树(如果有相同路径数字加1,没有创建新的子树)

挖掘出频繁项集

关联规则

同时满足支持度以及置信度

强规则不一定是有趣的

强规则有一定欺骗性(置信度存在问题)可能某商品是必须品

从关联分析到相关分析

提升度

lift(A,B)=P(AnB)/P(A)*P(B)

>1正相关,一个出现另一个就出现

<1负相关,一个出现另一个就不出现

=1独立

相关推荐
2301_816651223 分钟前
嵌入式C++低功耗设计
开发语言·c++·算法
机器学习之心14 分钟前
PSO-LightGBM-ABKDE粒子群算法优化轻量级梯度提升机自适应带宽核密度估计多变量回归区间预测Matlab实现
算法·matlab·回归·abkde·自适应带宽核密度估计·pso-lightgbm·粒子群算法优化轻量级梯度提升机
qq_4160187228 分钟前
分布式缓存一致性
开发语言·c++·算法
CoovallyAIHub33 分钟前
多 Agent 手术推理框架:Agent 辩论+RAG 补上手术知识,零样本超越监督基线 14.6 个百分点
算法·架构·机器人
干啥啥不行,秃头第一名36 分钟前
STL容器内部实现剖析
开发语言·c++·算法
Zarek枫煜37 分钟前
zig与c3的冒泡排序算法
算法
xiaoye-duck40 分钟前
《算法题讲解指南:动态规划算法--简单多状态dp问题》--13.删除并获得点数,14.粉刷房子
c++·算法·动态规划
老鼠只爱大米42 分钟前
LeetCode经典算法面试题 #347:前 K 个高频元素(最小堆、桶排序、快速选择等多种实现方案详解)
算法·leetcode·堆排序·java面试题·桶排序·快速选择·topk
2401_8318249644 分钟前
内存泄漏检测与防范
开发语言·c++·算法
FluxMelodySun1 小时前
机器学习(二十五) 降维:主成分分析(PCA)及特征值分解
人工智能·算法·机器学习