新增 templates/ti-cl4/quality-forecast/features.py: - PointDict:解析 point_dict CSV(9 列,对齐 core/edge-gateway),检索/存在性校验 - FeatureSpec:声明式特征(source/transform/window/meaning),换行业只改清单 - FeatureExtractor:按清单从时序样本抽取特征矩阵,缺失值 NaN 占位 - 9 算子:raw/mean/std/min/max/range/diff/slope/ratio - 零依赖 YAML 子集加载(与 recipe-optim/data-bus 同款) - config/features.template.yaml:7 个默认特征(炉温/配比/CO波动/炉层/TiCl₄纯度) - 22 用例全通过;纯标准库零运行时依赖。
1.9 KiB
1.9 KiB
Ti-1 氯化车间质量预测(quality-forecast)
父 Issue:#10「[Template-Ti 一期] ① 质量预测 + ③ 炉层杂质预警」 子任务:#68 特征工程 / #69 模型训练与评估 / #73 模型部署到内核并接入驾驶舱
基于 templates/ti-cl4/point-dict/point_dict.default.csv 默认点位集(CLF-01 沸腾氯化炉 /
RF-01 精制还原 / E-01 能源 / ST-01 蒸汽 / CW-01 循环水),交付「DCS 点表 → 可训练特征
矩阵 → 质量预测 → 部署接入」全链路,对齐 PRD §5.3 ①「质量预测」。
设计要点
- 模板化:特征清单(
config/features.template.yaml)外置,换行业/换模板只改特征 清单 + 点位字典,特征工程代码零改动(PRD §5.3「换行业只改 Recipe」)。 - 纯标准库零运行时依赖:CSV/YAML 子集/统计全部自实现(不依赖 numpy/pandas/pyyaml),
便于离线/隔离网部署,与
recipe-optim/impurity-forecast内核模块一致。 - 可解释前置:每个
FeatureSpec带meaning(工艺含义),供 #69 模型可解释性引用。
模块
| 文件 | 说明 | Issue |
|---|---|---|
features.py |
点位字典 PointDict + 特征规格 FeatureSpec + 抽取器 FeatureExtractor |
#68 |
model.py |
质量预测模型训练与评估(岭回归 + R²) | #69 |
serve.py |
模型部署到内核并接入驾驶舱(预测服务) | #73 |
config/features.template.yaml |
默认特征清单(7 个特征,对齐默认点位集) | #68 |
算子
raw / mean / std / min / max / range / diff / slope / ratio(ratio 需 denominator)。
缺失点位统一用 NaN 占位,便于上层判空屏蔽(FeatureMatrix.drop_nan_rows())。
运行
# 单测(嵌入式 Python 3.12 即可,无第三方依赖)
python -m unittest discover -s templates/ti-cl4/quality-forecast/tests -p "test_*.py" -v