惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
Google Online Security Blog
Google Online Security Blog
月光博客
月光博客
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MongoDB | Blog
MongoDB | Blog
H
Help Net Security
The Cloudflare Blog
Blog — PlanetScale
Blog — PlanetScale
F
Full Disclosure
G
Google Developers Blog
罗磊的独立博客
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
A
About on SuperTechFans
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
GbyAI
GbyAI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
The Register - Security
The Register - Security
U
Unit 42
D
Docker
Martin Fowler
Martin Fowler
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
博客园_首页
Google DeepMind News
Google DeepMind News

牛牛技术客栈

设计模式-备忘录模式 - OXOXTECH 牛牛技术客栈 设计模式-中介者模式 - OXOXTECH 牛牛技术客栈 Linux【Ubuntu】修改ssh默认端口 - OXOXTECH 牛牛技术客栈 设计模式-迭代器模式 - OXOXTECH 牛牛技术客栈 scheduled定时任务的三种基本实现方式 - OXOXTECH 牛牛技术客栈 Apriori - 基于关联规则的推荐算法(三) - OXOXTECH 牛牛技术客栈 Apriori - 基于关联规则的推荐算法(二) - OXOXTECH 牛牛技术客栈 基于JavaFX的桌面端网络调试工具 - OXOXTECH 牛牛技术客栈 Golang Channel的原理介绍 - OXOXTECH 牛牛技术客栈 Go语言Map的原理分析 - OXOXTECH 牛牛技术客栈 Go语言错误处理(panic)的最佳实践 - OXOXTECH 牛牛技术客栈 设计模式-解释器模式 - OXOXTECH 牛牛技术客栈 Redis报错Redis is configured to save RDB snapshots, but it's currently unable to persist to disk. go-webpbin库在Linux报错failed to encode image to WebP: exit status 1.......的问题 exe4j 打包加密的jar - OXOXTECH 牛牛技术客栈 Go生成图形验证码示例 - OXOXTECH 牛牛技术客栈 澳门一天游:一日尽享东方与西方的交融之美 - OXOXTECH 牛牛技术客栈 设计模式-命令模式 - OXOXTECH 牛牛技术客栈 别再自己瞎写工具类了,SpringBoot内置工具类应有尽有 - OXOXTECH 牛牛技术客栈 中山一日游 - OXOXTECH 牛牛技术客栈 设计模式-责任链模式 - OXOXTECH 牛牛技术客栈 起舞吧,齐舞吧 - OXOXTECH 牛牛技术客栈 设计模式-组合模式 - OXOXTECH 牛牛技术客栈 Go语言Web开发|GoFrame框架入门笔记 - OXOXTECH 牛牛技术客栈 Java打包exe教程 - OXOXTECH 牛牛技术客栈 设计模式-代理模式 - OXOXTECH 牛牛技术客栈 MySQL存储过程的优缺点有哪些? - OXOXTECH 牛牛技术客栈 前端渲染优化有哪些? - OXOXTECH 牛牛技术客栈 HTTP状态码及其含义 - OXOXTECH 牛牛技术客栈 从浏览器地址栏输入url到显示页面的步骤 - OXOXTECH 牛牛技术客栈 TypeScript事件派发管理器 - OXOXTECH 牛牛技术客栈 MQTT保留消息的使用方法 - OXOXTECH 牛牛技术客栈 世界工程-港珠澳大桥游 - OXOXTECH 牛牛技术客栈 Golang逃逸分析 - OXOXTECH 牛牛技术客栈 设计模式-享元模式 - OXOXTECH 牛牛技术客栈 牛牛成长记录 - OXOXTECH 牛牛技术客栈 ffmpeg常用命令 - OXOXTECH 牛牛技术客栈 设计模式-外观模式 - OXOXTECH 牛牛技术客栈 设计模式-装饰器模式 - OXOXTECH 牛牛技术客栈 设计模式-桥接模式 - OXOXTECH 牛牛技术客栈 5周年恋爱纪念日 - OXOXTECH 牛牛技术客栈 2024新年快乐,龙腾四海 - OXOXTECH 牛牛技术客栈 迎接新年:除夕的美好时刻 - OXOXTECH 牛牛技术客栈 设计模式-适配器模式 - OXOXTECH 牛牛技术客栈 设计模式-原型模式 - OXOXTECH 牛牛技术客栈 设计模式-建造者模式 - OXOXTECH 牛牛技术客栈 设计模式-工厂模式 - OXOXTECH 牛牛技术客栈 设计模式-单例模式 - OXOXTECH 牛牛技术客栈 SpringBoot在Linux环境下发送163邮件失败(No appropriate protocol (protocol is disabled or cipher suites are inappropriate)) 海与日落 - OXOXTECH 牛牛技术客栈 Swagger比较常用的注解 - OXOXTECH 牛牛技术客栈 猫🐱牛 - OXOXTECH 牛牛技术客栈 2023年最后一个晚霞 - OXOXTECH 牛牛技术客栈 Linux(Centos)部署Nginx教程 - OXOXTECH 牛牛技术客栈 Linux MySQL下载安装详细教程(CentOS版) - OXOXTECH 牛牛技术客栈 JavaFx打包成exe - OXOXTECH 牛牛技术客栈 Flux脚本语言入门教程 - OXOXTECH 牛牛技术客栈 演唱会出图 - OXOXTECH 牛牛技术客栈 Netty TCP解决粘包拆包 - OXOXTECH 牛牛技术客栈 SpringBoot实现订单超时取消的几种方案 - OXOXTECH 牛牛技术客栈 详解Java并发中的各种锁 - OXOXTECH 牛牛技术客栈 SpringBoot集成支付宝支付 - OXOXTECH 牛牛技术客栈 雪花算法:分布式系统唯一ID生成算法 - OXOXTECH 牛牛技术客栈 Java解决空指针的神器Optional - OXOXTECH 牛牛技术客栈 与兴一起 - OXOXTECH 牛牛技术客栈 Java17新特性详解与安装 - OXOXTECH 牛牛技术客栈 Jdk17安装+环境配置详细教程 - OXOXTECH 牛牛技术客栈 孤注一掷 - OXOXTECH 牛牛技术客栈 解决WinSCP经常断线重连 - OXOXTECH 牛牛技术客栈 内存不足导致Tomcat崩溃问题排查与解决办法 - OXOXTECH 牛牛技术客栈 influxDB初识,一个高效的时序数据库 - OXOXTECH 牛牛技术客栈 SpringBoot 服务接口限流方案 - OXOXTECH 牛牛技术客栈 Docker 安装 Portainer - OXOXTECH 牛牛技术客栈 Linux 安装Docker - OXOXTECH 牛牛技术客栈 物料宣传 - OXOXTECH 牛牛技术客栈 Java使用EMQX实现MQTT通信 - OXOXTECH 牛牛技术客栈 Java实现常见的排序算法 - OXOXTECH 牛牛技术客栈 FreeSwitch Windows安装教程 - OXOXTECH 牛牛技术客栈 MQTT单向SSL数据加密 - OXOXTECH 牛牛技术客栈 随性 - OXOXTECH 牛牛技术客栈 mysql报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre的解决方案 Git Push项目报 push to origin/master was rejected 错误解决方案 游行记——珠海金沙滩与金湖公园之行 - OXOXTECH 牛牛技术客栈 Tomcat:解决Tomcat启动警告:"无法将资源添加到Web应用程序缓存中....请考虑增加缓存空间" 的问题 - OXOXTECH 牛牛技术客栈 励骏庞都广场,迷一般的皇宫 - OXOXTECH 牛牛技术客栈 Docker 常用命令集合 - OXOXTECH 牛牛技术客栈 ElasticSearch Windows版-安装教程 - OXOXTECH 牛牛技术客栈 Java去除对象中为null的字段 - OXOXTECH 牛牛技术客栈 我和我的青春 - OXOXTECH 牛牛技术客栈 Java实现螺旋矩阵算法: - OXOXTECH 牛牛技术客栈 Java直接内存分配和释放的理解 - OXOXTECH 牛牛技术客栈 FreeSwitch将默认数据库迁移至MySQL - OXOXTECH 牛牛技术客栈 别错过路上的风景,别错过刹那间的深情! - OXOXTECH 牛牛技术客栈 Viewer.js:一款强大的图片预览组件 - OXOXTECH 牛牛技术客栈 Java JDK Proxy和CGLib动态代理示例 - OXOXTECH 牛牛技术客栈 redis常用命令 - OXOXTECH 牛牛技术客栈 SpringBoot查询IP归属地 - OXOXTECH 牛牛技术客栈 Spring 事务失效的六种情况 - OXOXTECH 牛牛技术客栈 #张艺兴每时每刻# - OXOXTECH 牛牛技术客栈 Nginx常用命令及具体应用 - OXOXTECH 牛牛技术客栈
Apriori - 基于关联规则的推荐算法(一) - OXOXTECH 牛牛技术客栈
tsinghualee · 2025-09-13 · via 牛牛技术客栈

Apriori Algorithm - 先验算法,基于数据挖掘和关联规则的推荐算法(一)

什么是Apriori

   如副标题,Apriori 是一个基于数据挖掘和关联规则的推荐算法,旨在通过数据挖掘分析数据之前的关联性,并根据关联性强弱进行相关数据的推送。在早期,Netflix正是使用此算法,使其流媒体平台能实现对用户的精准推送。

   以Netflix为例:用户A观看过《太空漫游2001》、《星际穿越》。而用户B观看过《太空漫游2001》、《火星救援》。此时一名新用户C,他仅在流媒体观看过《星际穿越》,平台则根据关联规则,为用户C推荐了《太空漫游》和《星际穿越》。从此例子看出,数据之间存在某些关联性,而Apriori算法则可以挖掘出这些关联性,实现精准的用户推送。

Apriori的核心

引用文献&资料1:https://en.wikipedia.org/wiki/Apriori_algorithm(维基百科)

引用文献&资料2:https://www.ibm.com/think/topics/apriori-algorithm(IBM公司数据分析师:Joshua Noble的文章:《what is the Apriori algorithm》)

优点:易于代码实现

缺点:数据集合量越大,算法效率越低

tips:可通过进阶算法:FP-Growth解决Apriori的局限性

关键参数 - 要实现Apriori算法需先定义2个值和计算3个值:

最小支持度:minSup(只有大于等于此值的集合才能参与下轮递归,低于此值的集合将不参与递归)

最小置信度:minConf(所有置信度需大于等于此值才符合最强关联规则,否则此值不具备参考性)

支持度:support(以下简称Sup)

置信度:confidence(以下简称Conf)

提升度:lift(以下简称Lift)

tips: 关于minSup和minConf的参数调优,以下是DeepSeek给出的参考(AI工具仅供参考,具体参数调优,需要根据数据集微调)

20250913232518946.webp

什么是数据频繁项集

引用文献&资料3:https://www.geeksforgeeks.org/r-language/association-rule-mining-in-r-programming/(Geeks for Geeks 极客社区文章:《Association Rule Mining in R Programming》)

   例:这里有一个订单表,3名用户分别购买了以下产品:

订单列表
用户A菠萝、西瓜、柠檬
用户B苹果、菠萝、西瓜
用户C火龙果、苹果、西瓜,柠檬

   首先,数据的频繁一项集即所有出现的产品:{菠萝}, {西瓜}, {柠檬}, {苹果}, {火龙果}

           数据的频繁二项集即所有出现的产品的排列组合:{菠萝,西瓜}, {菠萝,柠檬}, {菠萝,苹果}, {菠萝,火龙果}, {西瓜,柠檬}, {西瓜,苹果}, {西瓜,火龙果}, {柠檬,苹果},{柠檬,火龙果},{苹果,火龙果}

           以此类推,数据的频繁K项集,即穷举所有产品的排列组合(当然,未出现在订单表的组合为无用组合)。在电商领域一般只需要3项集即可。即:{菠萝,西瓜,柠檬},{菠萝,西瓜,苹果} ...等 -> {P1,P2,P3}。理解了数据频繁项集这个概念后,我们来看Apriori的核心算法公式

Apriori核心算法公式

tips:所有公式的计算需要按项计算:K=1 → K=2 → K=3 → K=N

Sup formula:

20250913232608439.webp

即:Sup = {A,B} / total number of data collections

       支持度 = 包含数据A,B的集合数量 / 数据集总量

*(total number of data collections 或 total number of transactions 以下简写为:T)

即:Sup₁ = {A} / T 、 Sup₂ = {A,B} / T 、 Sup₃ = {A,B,C} / T

Conf formula:

20250913232616516.webp

即:Conf(A→B) = {A,B} / {A}

   置信度(A→B) = 包含{A,B}的集合数 / 包含{A}的集合数

以此类推,二阶(k=2)对应公式为:Conf({A,B}→{C}) = {A,B,C} / {A,B}

Lift formula:

20250913232630729.webp

即:Lift(A→B) = Sup{A,B} / Sup{A} * Sup{B}

   提升度(A→B) = 支持度{A,B} / 支持度{A} * 支持度{B}

以此类推,二阶对应公式为:Lift({A,B}→{C}) = Sup{A,B,C} / Sup{A,B} * Sup{C}

*Lift < 1:负相关(彼此不太可能一起出现)即:不太可能一起买,前者甚至影响后者销量

*Lift = 1:无相关(彼此独立)即:毫无关联

*Lift > 1:正相关(彼此倾向于一起出现)即:很可能一起买,前者可以提高后者销量

结语

至此,我们已明确Apriori的概念,数据频繁项集的概念,Apriori的核心算法公式。下一章我们开始用一个简单的例子,手工演算Apriori算法,并发现数据之间的关联性规则