新增 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 用例全通过;纯标准库零运行时依赖。
27 lines
876 B
Python
27 lines
876 B
Python
# -*- coding: utf-8 -*-
|
|
"""测试引导:把连字符目录挂载为可导入包(与 core 模块同款模式)。
|
|
|
|
- ``templates/ti-cl4/quality-forecast`` → 包名 ``quality_forecast``。
|
|
本模块零内核依赖(纯标准库),仅挂载自身包即可。
|
|
"""
|
|
import importlib.util
|
|
import os
|
|
import sys
|
|
|
|
PKG_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
|
|
def _load_package(name: str, path: str) -> None:
|
|
"""按文件路径完整加载一个包(执行其 __init__.py)。"""
|
|
if name in sys.modules:
|
|
return
|
|
init_py = os.path.join(path, "__init__.py")
|
|
spec = importlib.util.spec_from_file_location(
|
|
name, init_py, submodule_search_locations=[path])
|
|
module = importlib.util.module_from_spec(spec)
|
|
sys.modules[name] = module
|
|
spec.loader.exec_module(module)
|
|
|
|
|
|
_load_package("quality_forecast", PKG_DIR)
|