基于 Apriori 算法的中药配伍审查系统
基于 Apriori 算法的中药配伍审查系统项目介绍本系统是一个基于经典Apriori 关联规则挖掘算法的中药配伍审查平台使用真实中医药处方数据集PTM-TKDE2018实现药材频繁项集挖掘、关联规则生成与配伍禁忌审查。核心功能数据导入一键下载并导入真实 PTM 处方数据集到 SQLite约 811 味药材、6693 条处方事务Apriori 挖掘频繁项集与关联规则挖掘支持度/置信度/提升度lift可调配伍审查十八反/十九畏禁忌检测 低支持度警告 关联规则建议含药名别名匹配批量审查支持多张处方批量审查药材共现分析指定药材的共现频次统计数据看板Chart.js 可视化展示高频药材与挖掘历史REST API14 个 API 端点完整覆盖业务功能审查日志与挖掘历史记录数据来源数据来源用途药材与处方事务PTM-TKDE2018herbs_contains.txtpre_herbs.txtApriori 事务挖掘配伍禁忌data/forbidden_canonical.json药典十八反、十九畏整理41 条硬性禁忌审查药材属性可选DragonTCM性味归经增强仅供教学研究不可替代临床审方。目录结构apriori-zhongyao-check/ ├── app.py # Flask 主应用路由定义 启动入口 ├── config.py # 应用配置阈值、数据库路径、分页等 ├── requirements.txt # Python 依赖 ├── mac_run.sh # macOS 一键启动脚本 ├── window_run.bat # Windows 一键启动脚本 ├── 项目说明.md # 本文件 ├── 挖掘手册.md # Apriori 挖掘参数与数据集说明 │ ├── core/ # 核心算法 │ ├── __init__.py │ ├── apriori.py # Apriori 频繁项集与关联规则挖掘 │ └── reviewer.py # 配伍审查逻辑禁忌检测 关联建议 同义词标注 │ ├── database/ # 数据库层 │ ├── __init__.py │ ├── db.py # SQLite 访问层连接管理 缓存 全部 CRUD │ └── importer.py # 数据导入PTM 文件解析 禁忌规则写入 │ ├── routes/ # 路由层 │ ├── __init__.py │ └── api.py # REST API 蓝图14 个端点 │ ├── services/ # 服务层 │ ├── __init__.py │ └── mining.py # Apriori 挖掘服务参数回退 结果持久化 │ ├── scripts/ # 运维脚本 │ ├── download_datasets.py# 从 GitHub/HuggingFace 下载数据集 │ ├── setup_all.py # 一键下载 → 导入 → 挖掘 │ └── init_and_mine.py # 初始化数据库 执行挖掘 │ ├── data/ # 数据目录 │ ├── forbidden_canonical.json # 十八反/十九畏禁忌规则 │ ├── tcm.db # SQLite 数据库运行时生成 │ ├── raw/ # 原始数据文件 │ │ ├── herbs_contains.txt # PTM 药材名索引811 行 │ │ ├── pre_herbs.txt # PTM 处方事务数值索引7189 行 │ │ └── prescriptions.txt # PTM 原始文本方98334 行未接入导入 │ └── imported/ # 已导入数据备份目录 │ ├── templates/ # Jinja2 HTML 模板12 个页面 │ ├── base.html # 基础布局导航栏 页脚 │ ├── index.html # 首页统计概览 高频药材图表 │ ├── dashboard.html # 数据看板挖掘历史 审查日志 │ ├── check.html # 单方配伍审查 │ ├── batch.html # 批量配伍审查 │ ├── herbs.html # 药材库列表 │ ├── herb_detail.html # 药材详情 共现分析 │ ├── prescriptions.html # 方剂库列表 │ ├── forbidden.html # 十八反/十九畏规则表 │ ├── rules.html # Apriori 关联规则 频繁项集 重新挖掘 │ ├── dataset.html # 数据集说明 │ └── api_docs.html # REST API 文档 │ ├── static/ │ └── css/style.css # 自定义样式 │ └── 运行步骤必看/ └── window.md # Windows 运行步骤说明运行环境项目要求Python 3.12操作系统macOS / Linux / Windows数据库SQLite 3Python 内置无需额外安装网络首次运行需联网下载 PTM 数据集依赖Flask 3.0、Werkzeug 3.0、datasets 2.14可选端口与访问项目值默认端口5050环境变量覆盖PORT访问地址http://127.0.0.1:5050API 文档http://127.0.0.1:5050/api-docs技术架构浏览器 ←→ Flask (Jinja2 模板 REST API) ↕ SQLite (tcm.db) ↕ Apriori 算法 禁忌审查引擎 ↕ PTM-TKDE2018 真实处方数据集模块职责模块文件职责主应用app.pyFlask 应用工厂、页面路由、启动入口、自动引导挖掘配置config.py最小支持度/置信度/提升度、数据库路径、分页大小、密钥算法core/apriori.pyApriori 频繁项集挖掘与关联规则生成审查core/reviewer.py禁忌规则检测、低支持度警告、关联规则建议、同义词标注数据库database/db.py连接管理上下文管理器、事务缓存、全部 CRUD 操作导入database/importer.pyPTM 文件解析、药材/处方入库、禁忌规则写入、配置持久化APIroutes/api.pyREST API 蓝图14 个端点JSON 输入输出挖掘服务services/mining.py封装 Apriori 执行、参数回退、结果持久化、缓存失效下载scripts/download_datasets.py从 GitHub/HuggingFace 下载数据集到data/raw/初始化scripts/init_and_mine.py建表 → 导入 → 挖掘三步合一一键部署scripts/setup_all.py下载 → 导入 → 挖掘四步合一页面功能页面路由功能首页/统计概览药材数/处方数/规则数、Top 20 高频药材柱状图配伍审查/check输入药材名 → 返回禁忌/警告/建议批量审查/batch多处方批量审查药材库/herbs药材列表分页、搜索药材详情/herbs/name单味药材共现分析、关联规则方剂库/prescriptions处方列表分页、搜索禁忌规则/forbidden十八反/十九畏规则表关联规则/rules关联规则表 频繁项集 重新挖掘参数可调数据看板/dashboard挖掘历史趋势、审查日志数据集/datasetPTM 数据集说明API 文档/api-docsREST API 端点文档REST API 列表方法路径功能GET/api/statistics系统统计药材数/处方数/规则数等POST/api/review单方配伍审查{herbs: [甘草,海藻]}POST/api/review/batch批量审查{prescriptions: [[甘草,海藻],[人参,黄芪]]}GET/api/herbs药材列表分页、搜索GET/api/herbs/name药材详情与共现GET/api/prescriptions处方列表分页、搜索GET/api/forbidden十八反/十九畏规则GET/api/rules关联规则列表分页GET/api/itemsets频繁项集列表分页POST/api/mine重新执行 Apriori 挖掘GET/api/config获取当前挖掘参数GET/api/dataset-meta数据集元信息GET/api/mining-history挖掘历史GET/api/review-logs审查日志算法说明Apriori 算法Apriori 是经典的关联规则挖掘算法核心思想如果一个项集是频繁的则它的所有子集也是频繁的Apriori 性质。算法流程扫描事务数据库统计每个单项的支持度过滤低于min_support的项逐层产生候选项集由 k-频繁项集连接生成 (k1)-候选项集剪枝移除包含非频繁 k-子集的候选项集计数再次扫描数据库统计候选项集支持度重复直到无法生成更大的频繁项集受max_k限制生成规则对每个频繁项集计算所有非空子集的置信度和提升度保留满足min_confidence和min_lift的规则关键参数参数默认值说明min_support0.02最小支持度项集至少在 2% 的处方中出现min_confidence0.5最小置信度规则 A→B 的置信度至少 50%min_lift1.0最小提升度大于 1 表示正相关max_k4最大项集大小防止组合爆炸审查逻辑配伍审查分三层检测禁忌层硬性十八反/十九畏命中即标记为forbidden警告层软性药材组合的支持度低于min_support标记为warning建议层参考与已输入药材相关的关联规则标记为info同义词对额外标注⚠可能是同义词/包含关系数据流程PTM 数据集 (GitHub/HuggingFace) ↓ scripts/download_datasets.py data/raw/herbs_contains.txt pre_herbs.txt ↓ database/importer.py SQLite (tcm.db): herbs prescriptions forbidden_rules ↓ core/apriori.py services/mining.py SQLite: frequent_itemsets association_rules apriori_config ↓ core/reviewer.py 配伍审查结果 (forbidden / warning / info) ↓ routes/api.py app.py 浏览器 (HTML / JSON)许可证本项目仅供学习交流使用请勿用于商业用途。源码地址https://www.aiyuanma.vip/posts/apriori-zhongyao-check

相关新闻

具身智能体如何实现三思而后行:验证器引导的动作选择原理与实践

具身智能体如何实现三思而后行:验证器引导的动作选择原理与实践

1. 从“想当然”到“想两次”:具身智能体的行动选择困境 在具身智能(Embodied AI)领域,我们常常面临一个核心矛盾:大语言模型(LLM)或大视觉语言模型(VLM)赋予了智能体强大…

2026/8/18 10:03:46 阅读更多 →
空洞骑士模组管理器 Lumafly 从零上手完整指南:三步告别手动装 Mod 的折腾

空洞骑士模组管理器 Lumafly 从零上手完整指南:三步告别手动装 Mod 的折腾

空洞骑士模组管理器 Lumafly 从零上手完整指南:三步告别手动装 Mod 的折腾 【免费下载链接】Lumafly A cross platform mod manager for Hollow Knight written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/lu/Lumafly 空洞骑士的模组生态有 30…

2026/8/18 10:02:46 阅读更多 →
基于Python婴幼儿个性化辅食推荐系统

基于Python婴幼儿个性化辅食推荐系统

基于Python婴幼儿个性化辅食推荐系统 功能说明 基于 Python Flask SQLite 的 Web 应用,面向家长管理婴幼儿辅食与营养,并提供三类推荐算法(内容推荐、协同过滤、知识推荐)。 1. 用户与婴儿档案 用户注册、登录、退出主面板展示当…

2026/8/18 10:02:46 阅读更多 →

最新新闻

为什么值得用 KMS_VL_ALL_AIO:一个脚本同时解决 Windows 与 Office 激活

为什么值得用 KMS_VL_ALL_AIO:一个脚本同时解决 Windows 与 Office 激活

为什么值得用 KMS_VL_ALL_AIO:一个脚本同时解决 Windows 与 Office 激活 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 面对"许可证即将过期"的系统弹窗,以及…

2026/8/18 12:07:30 阅读更多 →
忘了加密压缩包密码怎么办?用这款开源压缩包密码测试工具 5 分钟找回

忘了加密压缩包密码怎么办?用这款开源压缩包密码测试工具 5 分钟找回

忘了加密压缩包密码怎么办?用这款开源压缩包密码测试工具 5 分钟找回 【免费下载链接】ArchivePasswordTestTool 利用7zip测试压缩包的功能 对加密压缩包进行自动化测试密码 项目地址: https://gitcode.com/gh_mirrors/ar/ArchivePasswordTestTool 你是不是也…

2026/8/18 12:07:30 阅读更多 →
Illusion游戏模组管理完整指南:从安装到精通的KKManager上手旅程

Illusion游戏模组管理完整指南:从安装到精通的KKManager上手旅程

Illusion游戏模组管理完整指南:从安装到精通的KKManager上手旅程 【免费下载链接】KKManager Mod, plugin and card manager for games by Illusion that use BepInEx 项目地址: https://gitcode.com/gh_mirrors/kk/KKManager 如果你正被一堆 zipmod 模组、插…

2026/8/18 12:07:30 阅读更多 →
大模型本地化实战:基于QLoRA与中文语料的领域微调指南

大模型本地化实战:基于QLoRA与中文语料的领域微调指南

最近在AI大模型领域,一个备受关注的消息是苹果公司被报道正与阿里巴巴合作,旨在开发针对中国市场的本地化大模型。这不仅是科技巨头间的一次强强联合,更预示着AI技术落地应用将进入一个更加贴近区域用户需求的新阶段。对于开发者而言&#xf…

2026/8/18 12:07:30 阅读更多 →
ARTEMIS:智能体引导的可靠性感知时序掩膜演化框架,应对不完美监督下的视频息肉分割

ARTEMIS:智能体引导的可靠性感知时序掩膜演化框架,应对不完美监督下的视频息肉分割

1. 项目概述:当视频息肉分割遇上“不完美”的监督信号 在医疗影像分析领域,视频息肉分割(Video Polyp Segmentation, VPS)是一个极具临床价值但挑战重重的任务。它的目标是在结肠镜检查视频中,逐帧、像素级地勾勒出息肉…

2026/8/18 12:07:30 阅读更多 →
es6知识点6-自备使用

es6知识点6-自备使用

16. Set Set 可以理解成:一个“不允许重复值”的集合。最常见用途就是: 数组去重。16.1 基本使用 const set new Set()set.add(1) set.add(2) set.add(2) set.add(3)console.log(set)结果: Set(3) { 1, 2, 3 }虽然: set.add(2)执…

2026/8/18 12:06:24 阅读更多 →

日新闻

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 如果你还停留在"看网课 不停暂停 截图 …

2026/8/18 0:00:57 阅读更多 →
思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 你是不是也经历过这种时刻:设计稿里…

2026/8/18 0:00:58 阅读更多 →
华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, …

2026/8/18 0:00:59 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/18 9:15:35 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 9:06:28 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/18 9:04:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →