Apriori 处理ALLElectronics事务数据
通过Apriori算法挖掘以下事务集合的频繁项集:

流程图

代码
# 导入必要的库
from itertools import combinations# 定义Apriori算法函数
def apriori(transactions, min_support, min_confidence):# 遍历数据,统计每个项的支持度 item_support = {}for transaction in transactions:for item in transaction:if item not in item_support:item_support[item] = 0item_support[item] += 1# 计算总事务数total_transactions = len(transactions)# 计算频繁项集frequent_itemsets = {}for item, support in item_support.items():if support / total_transactions >= min_support: # 即该项集在事务数据库中出现的次数除以总数frequent_itemsets[(item,)] = support / total_transactions# 生成候选项集并迭代生成频繁项集k = 2while True:candidates = set() # 存储所有可能的项集for itemset in frequent_itemsets.keys():for item in itemset:candidates.add(item)# 生成候选项集candidates = list(combinations(candidates, k)) # 生成所有可能的k项集# 统计候选项集的支持度candidate_support = {}for transaction in transactions:for candidate in candidates:if set(candidate).issubset(set(transaction)):if candidate not in candidate_support:candidate_support[candidate] = 0candidate_support[candidate] += 1# 更新频繁项集frequent_itemsets_k = {}for candidate, support in candidate_support.items():if support / total_transactions >= min_support:frequent_itemsets_k[candidate] = support / total_transactions# 如果没有频繁项集则停止迭代if not frequent_itemsets_k:breakfrequent_itemsets.update(frequent_itemsets_k)k += 1# 生成关联规则rules = []for itemset in frequent_itemsets.keys():if len(itemset) >= 2:for i in range(1, len(itemset)):for combination in combinations(itemset, i):X = combinationY = tuple(set(itemset) - set(combination))confidence = frequent_itemsets[itemset] / frequent_itemsets[X]if confidence >= min_confidence:rules.append((X, Y, frequent_itemsets[itemset], confidence))# frequent_itemsets (dict): 频繁项集和对应的支持度,键为项集的元组,值为支持度# rules (list): 关联规则,每一条规则表示为一个元组 (X, Y),其中X为前项集合,Y为后项集合return frequent_itemsets, rules# 示例数据集
transactions = [ ['I1', 'I2', 'I5'],['I2', 'I4'],['I2', 'I3'],['I1', 'I2', 'I4'],['I1', 'I3'],['I2', 'I3'],['I1', 'I3'],['I1', 'I2', 'I3', 'I5'],['I1', 'I2', 'I3']
]
# 设置最小支持度和最小置信度阈值
min_support = 0.3
min_confidence = 0.6
# 调用Apriori算法函数
frequent_itemsets, rules = apriori(transactions, min_support, min_confidence)
print("频繁项集和对应的支持度:")
for itemset, support in frequent_itemsets.items():print("{}: Support = {:.2f}".format(itemset, support))
# 输出关联规则和置信度
print("\n关联规则和置信度:")
for X, Y, support, confidence in rules:print("{} => {}: Support = {:.2f}, Confidence = {:.2f}".format(X, Y, support, confidence))
-
输出结果截图

相关文章:
Apriori 处理ALLElectronics事务数据
通过Apriori算法挖掘以下事务集合的频繁项集: 流程图 代码 # 导入必要的库 from itertools import combinations# 定义Apriori算法函数 def apriori(transactions, min_support, min_confidence):# 遍历数据,统计每个项的支持度 item_support {}for tr…...
Content Provider:深入解析Android数据共享的核心组件
在Android开发中,Content Provider是一个重要的组件,它允许应用程序之间共享数据。它扮演着“数据访问中间层”的角色,为不同应用程序提供了一个统一的数据访问接口。以下将从技术难点、面试官关注点、回答吸引力以及代码举例四个方面&#x…...
069、Python 函数的递归调用
函数可以自己调用自己吗??? 这就涉及函数的递归的用法了。 递归的概念: 函数递归是指函数在其定义中直接或间接调用自身的过程。 递归是一种强有力的编程技术,通常用于解决可以被分解为相同问题的子问题的情况&…...
数仓开发那些事_番外
一位神州的正式员工(没错,就是之前文章中出现的实习生):一闪,你今年涨工资了吗? 一闪:mad,一年辛苦到头只涨了500米 神州员工:你去年绩效不是优秀吗,怎么就涨…...
Vue3+TypeScript项目实战——打造雨雪交加的智慧城市
个人简介 👀个人主页: 前端杂货铺 ⚡开源项目: rich-vue3 (基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL) 🙋♂️学习方向: 主攻前端方向,正逐渐往全干发展 …...
经典游戏案例:植物大战僵尸
学习目标:植物大战僵尸核心玩法实现 游戏画面 项目结构目录 部分核心代码 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using Random UnityEngine.Random;public enum Z…...
Go 与 Java 字符编码选择:UTF-8 与 UTF-16 的较量
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...
vscode+picgo+gitee实现Markdown图床
vscode中编辑Markdown文件,复制的图片默认是保存在本地的。当文档上传csdn时,会提示图片无法识别 可以在gitee上创建图床仓库,使用picgo工具上传图片,在Markdown中插入gitee链接的方式来解决该问题。 一、 安装picgo工具 1.1 v…...
【thinkphp问题栏】tp5.0分页技巧
一、调用内置方法paginate thinkphp内置了一个paginate方法支持分页功能 该方法位于library\think\db\Query.php内 /*** 分页查询* param int|array $listRows 每页数量 数组表示配置参数* param int|bool $simple 是否简洁模式或者总记录数* param array $config 配…...
获取时间戳是使用System.currentTimeMillis()还是使用new Date().getTime()(阿里开发规范)?
1.阿里规范 在阿里的Java开发手册中强制要求使用System.currentTimeMillis() 2.为什么(源码详解) new Date().getTime()它实际上也是调用的System.currentTimeMillis(),源码分析。 这个fastTime是它的成员变量,在new Date()的时候就被赋值了。 扩展一…...
仿饿了么加入购物车旋转控件 - 自带闪转腾挪动画 的按钮
, mWidth - mCircleWidth, mHeight - mCircleWidth); canvas.drawRoundRect(rectF, mHintBgRoundValue, mHintBgRoundValue, mHintPaint); //前景文字 mHintPaint.setColor(mHintFgColor); // 计算Baseline绘制的起点X轴坐标 int baseX (int) (mWidth / 2 - mHintPaint.m…...
Docker部署nacos集群
docker拉取nacos镜像,本文使用nacos2.0.3 三台服务器都要执行以下命令 docker pull nacos/nacos-server:v2.2.0准备挂载的日志目录和配置文件目录 日志:mkdir /usr/local/software/nacos/logs 配置文件:/usr/local/software/nacos/conf在配…...
centos查找文件 及 操作写入的进程
du -sh * 查看目录空间占用、发现大文件,确定进程,结束 yum install lsof 安装lsof 查看文件写入的 进程 2. lsof /root/.influxdbv2/engine/data/bab49411e5f7cbce/autogen/1/000000036-000000002.tsm COMMAND PID USER FD TYPE …...
构建高可用Java微服务架构的秘籍
构建高可用Java微服务架构的秘籍 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 随着云计算和分布式系统的快速发展,微服务架构已成为构建大型应用…...
VBA学习(18):VBA制作任意工作表均可使用的聚光灯
在需要制作聚光的工作簿,按<ALTF11>组合键,打开VBE编辑器。在右侧[工程资源管理器窗格]选中ThisWorkbook模块,将以下代码复制粘贴到该模块的代码窗口。 Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target …...
【STM32-启动文件 startup_stm32f103xe.s】
STM32-启动文件 startup_stm32f103xe.s ■ STM32-启动文件■ STM32-启动文件主要做了以下工作:■ STM32-启动文件指令■ STM32-启动文件代码详解■ 栈空间的开辟■ 栈空间大小 Stack_Size■ .map 文件的详细介绍■ 打开map文件 ■ 堆空间■ PRESERVE8 和 THUMB 指令…...
51学习记录(一)——51介绍及震动感应灯
文章目录 前言一、STC89C522.内部结构及引脚 二、继电器原理及震动传感器原理三、项目搭建及实现 前言 一个学习嵌入式的小白~ 有问题评论区或私信指出 提示:以下是本篇文章正文内容,下面案例可供参考 一、STC89C52 1.简介 所属系列:51单…...
2024GLEE生活暨教育(上海)博览会,8月20-22日,国家会展中心(上海)
2024GLEE生活暨教育(上海)博览会将于8月20-22日在中国国家会展中心(上海)举行,博览会总面积近万平方米,设有美好生活和教育产品两大主力展区,全面覆盖婴幼儿、学龄前、小学、初中、高中、大学、中年、老年各个年龄段的…...
debug调试高级功能 断点、布局 及Android Studio常用快捷按键使用详情
文章目录 debug断点篇:打临时断点(只用一次):alt断点条件断点:在断点上,点击右键,在Condition那里,设置我们需要的值,循环就会自动停到我们设置的那个值那里依赖断点&…...
51单片机STC89C52RC——6.1 中断系统
一,文字层面理解 反正我看下面的几段文字时脑壳没有正常运转。一个头几个大 中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。 当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这…...
鼎捷T100二次开发踩坑实录:修改规格后变量不自动生成怎么办?
鼎捷T100二次开发实战:规格修改后变量生成异常深度解析 在鼎捷T100系统的二次开发过程中,规格修改后的变量自动生成机制是开发者日常工作中频繁接触的核心功能之一。这个看似简单的自动化流程,在实际操作中却可能因为各种原因出现异常&#x…...
Phi-4-mini-reasoning部署避坑指南:CUDA OOM、端口映射、STARTING卡顿全解析
Phi-4-mini-reasoning部署避坑指南:CUDA OOM、端口映射、STARTING卡顿全解析 1. 模型简介 Phi-4-mini-reasoning是微软推出的3.8B参数轻量级开源模型,专为数学推理、逻辑推导和多步解题等强逻辑任务设计。这个模型主打"小参数、强推理、长上下文、…...
Qwen3.5-35B-A3B-AWQ-4bit多模态落地:智慧医疗影像报告图关键指标自动提取
Qwen3.5-35B-A3B-AWQ-4bit多模态落地:智慧医疗影像报告图关键指标自动提取 1. 医疗影像分析的痛点与解决方案 医疗影像报告分析一直是临床工作中的重要环节。传统方式依赖医生人工查看影像并提取关键指标,存在以下问题: 效率低下ÿ…...
从GIS小白到地图处理高手:我的Global Mapper V26完整安装与汉化避坑实录
从GIS小白到地图处理高手:我的Global Mapper V26完整安装与汉化避坑实录 第一次打开Global Mapper时,我被满屏的英文界面和专业术语吓退了——这大概也是许多GIS初学者共同的经历。作为一款被行业专家誉为"地理信息瑞士军刀"的软件,…...
医疗AI推理可视化卡顿难题(实时渲染延迟>120ms?)——三甲医院PACS系统C++底层优化全链路拆解
第一章:医疗AI推理可视化卡顿难题的临床影响与性能基线定义在放射科、病理科及急诊超声等实时决策场景中,AI模型输出热力图、分割掩码或病灶定位框后,若前端渲染延迟超过300ms,将直接干扰医师对动态影像序列(如心脏搏动…...
基于机器学习算法的亚马逊用户评论情感分析研究:深入探讨随机森林与决策树模型的应用及其实验评估
《基于随机森林和决策树的亚马逊用户评论情感分析研究》深入探讨了利用机器学习技术对亚马逊用户评论数据进行情感分析的方法,旨在为电商企业提供更精准的用户反馈处理工具,以辅助产品优化和服务改进 通过采用决策树模型和随机森林模型这两种不同的机器学…...
如何实现 SEO 优化与广告投放的协同效果
如何实现 SEO 优化与广告投放的协同效果 在当今竞争激烈的互联网环境中,实现 SEO 优化与广告投放的协同效果已经成为提升网站流量和销售转化的关键。SEO(搜索引擎优化)和广告投放虽然各自有各自的目标和优势,但它们的结合能够带来…...
2026年最新codex 第三方 api 配置指南
真正决定 Codex 能不能顺利进入项目的,通常不是 npm 命令有没有跑完,而是 codex 第三方 api 是否配完整。很多人在 openai/codex 安装结束后马上就碰到 401、请求超时、模型不可用,甚至一直过不了认证,这类问题大多都落在 ~/.code…...
Mavlink协议解析:从Pixhawk飞控到QGC地面站的完整通信流程
Mavlink协议深度解析:构建Pixhawk与QGC的高效通信桥梁 当Pixhawk飞控的LED指示灯开始规律闪烁,QGC地面站的地图上突然出现了一个蓝色圆点——这看似简单的连接背后,隐藏着一套精密的通信语言体系。Mavlink协议就像无人机系统的神经网络&#…...
扩散模型对抗样本经典baselines
1. 流图:数据的河流 如果把传统的堆叠面积图想象成一块块整齐堆叠的积木,那么流图就像一条蜿蜒流淌的河流,河道的宽窄变化自然流畅,波峰波谷过渡平滑。 它特别适合展示多个类别数据随时间的变化趋势,尤其是当你想强调整…...
