决策树规则提取与关键参数重要性排序器|工业AI分析工具
这个工具解决什么问题
样本量不够时拟合出的一切都不可信。这工具会先做数据体检。
> 产线不买准确率 92% 的账,他们要的是:温度高于多少、压力低于多少就该报警。
输入数据格式
数据文件 process_defect.csv,列顺序为:温度_℃、压力_MPa、速度_mm每s、湿度_%、预热时间_s、冷却速率、判定(1=不良 0=合格)。
示例首行:220.0,5.13,70.3,35.6,14,5.7,0
示例输出(真实运行结果节选)
==============================================================================
决策树规则提取与关键参数重要性排序器
==============================================================================
记录 300 条;不良 98 条(基线不良率 32.7%);参与建模参数 6 个:温度_℃、压力_MPa、速度_mm每s、湿度_%、预热时间_s、冷却速率
树参数:最大深度 3,叶节点最少样本 8(浅树才有可读规则)
【① 参数重要性(加权不纯度下降占比,训练集)】
参数 重要性占比 累计
压力_MPa 62.4% 62.4% ###############################
温度_℃ 34.1% 96.5% #################
湿度_% 3.5% 100.0% ##
速度_mm每s 0.0% 100.0%
预热时间_s 0.0% 100.0%
冷却速率 0.0% 100.0%
排前两位的是 压力_MPa 与 温度_℃,控制计划里应优先给这两个参数设控制点。
【② 不良规则提取(叶节点不良率 >= 50% 才算规则)】
规则 R1:IF 压力_MPa <= 3.60 AND 温度_℃ > 227.75
THEN 判定不良 不良率 100.0%(22/22) 覆盖率 7.3% 提升度 3.06x
规则 R2:IF 压力_MPa <= 3.60 AND 温度_℃ > 221.45 AND 温度_℃ <= 227.75
THEN 判定不良 不良率 87.5%(7/8) 覆盖率 2.7% 提升度 2.68x
规则 R3:IF 压力_MPa <= 3.60 AND 温度_℃ <= 216.70
THEN 判定不良 不良率 56.2%(27/48) 覆盖率 16.0% 提升度 1.72x
规则 R4:IF 压力_MPa > 3.60 AN
适用场景
· 想把历史工艺数据变成可执行的加严检查规则 · 需要量化哪个参数最该设控制点 · 判断到底该用组合规则还是单参数卡线就够 · 工艺或设备大改后重新校准判据
怎么用
python decision_rules_extractor.py
首次运行会自动生成示例数据并输出完整报告。把示例数据换成自己的(保持列名与列顺序一致)后重新运行即可。
输入数据
process_defect.csv:6 个工艺参数 + 判定列(1=不良 0=合格),自带 300 条示例,真实机理本身就是组合条件(温度偏高 + 压力偏低)。
输出内容
· 参数重要性:加权不纯度下降占比与累计占比(带条形图) · 不良规则提取:从叶节点翻译成 IF ... AND ... THEN 规则,附不良率、覆盖率与提升度(lift) · 重复条件自动合并(同参数同方向取最紧阈值),规则可读性更高 · 留出法验证:训练 / 测试集(7:3)的准确率、不良召回率、假警率与精确率 · 单参数卡线对照:看树比卡一个参数到底强多少 · 落地建议:规则入清单、控制点顺序、因果警示
口径与注意事项
· 树深度(默认 3)与叶节点最小样本(默认 8)可调:浅树才有可读、可落地的规则 · 提升度 = 规则内不良率 / 全体基线不良率,大于 1.5 才算有实操价值 · 阈值在训练集上选、效果在测试集上报,避免用同一批数据既选阈值又评效果 · 树只会告诉你哪些组合历史上一起出现过,不会告诉你因果 —— 落地前必须小批验证
其他
· 数据按列号读取,换数据时保持列名与列顺序一致。 · 输出报告为纯文本,可直接归档或作为附件;报告文件名见上方文件说明。 · 全部计算仅依赖 Python 标准库(csv / math / random / os),不需要联网、不需要安装任何包。
附赠提示词怎么用
脚本顶部集中了主要阈值与常量:CSV_NAME="process_defect.csv"、REPORT_NAME="rules_report.txt"、LABEL="判定"、MAX_DEPTH=3、MIN_LEAF=8、TEST_RATIO=0.30。改完直接重跑即可,不必改动计算逻辑。
会生成哪些文件
运行后除控制台输出外,还会生成:process_defect.csv、rules_report.txt。
脚本里的主要处理步骤
gen_data():300 条记录,真实机理本身就是「组合条件」:best_split():在给定样本子集上找最优切分:返回 (特征号, 阈值, 不纯度下降, 左右样本号)。build_tree():递归建树;imp 累计加权不纯度下降用于特征重要性。leaves():收集所有叶节点及其路径条件。simplify():合并同一参数、同一方向的重复条件:'>' 取最大阈值,'<=' 取最小阈值。
以上步骤在脚本中是分开的函数,可以单独调用或按需替换其中一段,不必整体重写。
工具中出现的字段与提示
- 温度_℃
- 压力_MPa
- 速度_mm每s
- 湿度_%
- 预热时间_s
- 冷却速率
- (1=不良 0=合格)
- 在给定样本子集上找最优切分:返回 (特征号, 阈值, 不纯度下降, 左右样本号)。
- 递归建树;imp 累计加权不纯度下降用于特征重要性。
- 收集所有叶节点及其路径条件。
- 合并同一参数、同一方向的重复条件:
- 取最大阈值,
- 取最小阈值。
- 决策树规则提取与关键参数重要性排序器
- 记录 %d 条;不良 %d 条(基线不良率 %.1f%%);参与建模参数 %d 个:%s
- 树参数:最大深度 %d,叶节点最少样本 %d(浅树才有可读规则)
- 【① 参数重要性(加权不纯度下降占比,训练集)】
- 重要性占比
其余字段以界面与示例报告为准。
下载与文件清单
压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。
主程序文件:decision_rules_extractor.py。
下载 决策树规则提取与关键参数重要性排序器 工具包(zip)
本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。
常见问题
输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 7 列:温度_℃、压力_MPa、速度_mm每s、湿度_%、预热时间_s、冷却速率、判定(1=不良 0=合格)。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。
跑完最该关注哪几项?
报告按 ① 参数重要性(加权不纯度下降占比,训练集)、③ 留出法验证(训练 %d / 测试 %d)、④ 与「单参数卡线」对照 等部分组织,其中判定结论与建议部分直接对应下一步动作。
阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。
附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。
同分类的其它工具
分类归属:工业AI与智能分析工具包;完整清单在 工具资源包下载页。





