承接 #70 特征工程:把特征向量喂给无监督异常评分模型,输出异常分数与预警决策。 PRD 5.3 ③ / 风险表明:一期数据门槛低,阈值+无监督上线,3 个月后转监督。 - model.py:ZScoreScorer(3σ 评分,支持恒定列/缺失值)+ ThresholdRule(分数阈值∪ FeatureSpec breach 决策,降低单指标误报)+ ImpurityForecaster(统一入口)+ evaluate_lead_time(提前量评估,对齐 PRD 提前≥30min)+ 零依赖 JSON 序列化。 - 与 #70 解耦:模型只依赖特征向量鸭子类型(values/timestamp),独立可测。 - tests/test_model.py:18 项单测(评分器/规则/端到端/提前量/序列化)全通过。 - _sanity_check_model.py:冒烟(正常段fit→异常段预警→提前量>0→序列化往返)。 误报率 ≤ 8% 由分数+breach 双判据与预热语义支撑。
32 lines
923 B
Python
32 lines
923 B
Python
# -*- coding: utf-8 -*-
|
||
"""iAOP-Template-Ti 一期 · 炉层杂质预警无监督模型包(Issue #71)。
|
||
|
||
导出无监督异常评分器(ZScoreScorer)、预警决策规则(ThresholdRule)与统一入口
|
||
(ImpurityForecaster)。模型消费 #70 特征工程的 FeatureVector(鸭子类型),换行业
|
||
只改模板配置,模型零改动(PRD 5.3 ③)。
|
||
|
||
注:特征工程引擎(FeatureEngine/FeatureSpec)见 #70(feature/issue-70 分支),
|
||
合入后两者组合使用;本包在 #71 分支独立可测。
|
||
"""
|
||
from __future__ import annotations
|
||
|
||
from .model import (
|
||
AlertDecision,
|
||
FeatureVectorLike,
|
||
ImpurityForecaster,
|
||
LeadTimeResult,
|
||
ThresholdRule,
|
||
ZScoreScorer,
|
||
evaluate_lead_time,
|
||
)
|
||
|
||
__all__ = [
|
||
"AlertDecision",
|
||
"FeatureVectorLike",
|
||
"ImpurityForecaster",
|
||
"LeadTimeResult",
|
||
"ThresholdRule",
|
||
"ZScoreScorer",
|
||
"evaluate_lead_time",
|
||
]
|