QuoteApp × SHAP 可解释成本估算 — 可行性分析报告

在这里插入图片描述

QuoteApp × SHAP 可解释成本估算 — 可行性分析报告


一、方案可行性分析

1.1 当前项目架构匹配度

评估维度 当前状态 SHAP 方案要求 匹配度
成本计算方式 规则驱动(13步公式链) ML 模型驱动 低 — 需要新增 ML 模块
特征提取能力 已有 geometry_extractor.py B-Rep → 特征向量 中 — 需扩展特征维度
数据存储 SQLAlchemy 数据库 训练数据集 中 — 需建立特征库
可视化能力 PyQt6 UI 框架 SHAP 图表渲染 高 — 可集成 matplotlib
扩展架构 模块化设计 新模块插入 高 — 支持插件式扩展

1.2 核心差距分析

当前 QuoteApp 采用规则引擎计算成本(13步公式链),而 SHAP 方案需要机器学习模型作为基础。这是最大的技术差异。


二、实现路径规划

2.1 分阶段实施策略

阶段1:数据准备 → 阶段2:模型训练 → 阶段3:SHAP集成 → 阶段4:UI展示

阶段1:特征工程与数据收集

需求:建立标准化特征向量,用于训练和预测
新增文件src/core/ml_feature_extractor.py

特征向量设计(约 30-50 维)
FeatureVector = {
    # 几何特征(15维)
    'volume_mm3': float,           # 体积
    'surface_area_mm2': float,     # 表面积
    'min_thickness_mm': float,     # 最小壁厚
    'max_thickness_mm': float,     # 最大壁厚
    'bbox_length_mm': float,       # 包围盒长
    'bbox_width_mm': float,        # 包围盒宽
    'bbox_height_mm': float,       # 包围盒高

    # 孔特征(8维)
    'hole_count': int,             # 孔总数
    'avg_hole_diameter_mm': float, # 平均孔径
    'max_hole_depth_mm': float,    # 最大孔深
    'deep_hole_count': int,        # 深孔数量(深径比>5)

    # 曲面特征(5维)
    'curved_surface_ratio': float, # 曲面占比
    'max_curvature': float,        # 最大曲率

    # 材料特征(3维)
    'material_code': str,          # 材料代码(编码化)
    'density_gcm3': float,         # 密度
    'hardness_hrc': float,         # 硬度

    # 工艺特征(5维)
    'process_count': int,          # 工序数量
    'has_cnc': bool,               # 是否CNC加工
    'has_wire_cut': bool,          # 是否线切割
    'has_surface_treatment': bool, # 是否表面处理

    # 批量特征(2维)
    'quantity': int,               # 数量
}

阶段2:成本预测模型训练

需求:训练回归模型预测成本
新增文件src/core/ml_cost_model.py

模型架构建议
class CostPredictor(nn.Module):
    def __init__(self, n_features=30):
        super().__init__()
        self.net = nn.Sequential(
            nn.Linear(n_features, 128),
            nn.ReLU(),
            nn.Dropout(0.2),
            nn.Linear(128, 64),
            nn.ReLU(),
            nn.Linear(64, 1)
        )

    def forward(self, x):
        return self.net(x).squeeze(-1)

训练数据需求

  • 历史报价数据(特征 + 实际成本)
  • 建议样本量:≥ 1000 条有效记录

阶段3:SHAP 解释模块集成

需求:计算 SHAP 值并提供解释
新增文件src/core/shap_explainer.py

class SHAPCostExplainer:
    def __init__(self, model, background_data):
        self.explainer = shap.DeepExplainer(model, background_data)

    def explain(self, feature_vector):
        """返回各特征的 SHAP 值和贡献度"""
        shap_values = self.explainer.shap_values(feature_vector)
        return shap_values

    def get_top_features(self, feature_vector, top_n=10):
        """获取对成本影响最大的前 N 个特征"""
        shap_vals = self.explain(feature_vector)
        # 排序并返回
        ...

阶段4:UI 展示集成

需求:在报价面板中展示 SHAP 解释
修改文件src/ui/quote_panel.py

class SHAPExplanationWidget(QWidget):
    def __init__(self):
        super().__init__()
        # 瀑布图展示
        # 特征贡献条形图
        # 交互式力状图(可选)

三、实施优先级建议

3.1 推荐顺序(从易到难)

优先级 任务 难度 依赖 产出
P0 特征提取模块 geometry_extractor 标准化特征向量
P1 数据集构建 数据库 训练数据集
P2 模型训练框架 PyTorch/SHAP 训练脚本
P3 SHAP 解释器 训练好的模型 解释 API
P4 UI 集成 Qt UI 框架 可视化组件

3.2 关键依赖清单

依赖包 当前状态 说明
shap 未安装 核心解释库
torch / xgboost 未安装 模型训练
matplotlib 未安装 可视化
numpy ✅ 已安装 数值计算

立即执行安装:

pip install shap torch matplotlib

四、技术风险评估

风险点 风险等级 缓解策略
数据质量 🔴 高 需要清洗历史报价数据,处理异常值
模型准确性 🟡 中 使用交叉验证,监控 MAE/MAPE 指标
计算性能 🟡 中 使用 KernelSHAP 近似算法,预计算缓存
特征漂移 🟡 中 定期重新训练模型,监控特征分布
可解释性冲突 🟢 低 规则引擎与 ML 模型并行运行,对比验证

五、预期价值与 ROI

5.1 业务价值

价值点 描述 量化收益
客户信任 报价可解释,展示成本构成 提升客户满意度
模型验证 SHAP 发现模型 bug 提高报价准确性
设计优化 指导客户优化设计降本 增加客户粘性
内部审计 成本驱动因素可视化 优化工艺路线

5.2 实现成本估算

阶段 预估工时 人力需求
需求分析 & 设计 8h 1人
特征工程 16h 1人
模型训练 24h 1人
SHAP 集成 16h 1人
UI 展示 24h 1人
总计 88h 1人 · 约2周

六、结论与建议

6.1 可行性结论

方案可行,但需要分阶段实施。 当前项目架构支持扩展,但缺少 ML 基础设施。

6.2 下一步行动计划

  1. 立即行动:安装依赖包 shaptorchmatplotlib
  2. 短期目标:完成特征提取模块和数据集构建(P0 + P1)
  3. 中期目标:训练第一个版本的成本预测模型(P2)
  4. 长期目标:完成 SHAP 解释和 UI 集成(P3 + P4)

6.3 替代方案(快速落地)

如果暂时无法收集足够训练数据,可以采用混合方案

  • 保留现有规则引擎作为"基准模型"
  • 使用 SHAP 解释规则引擎的决策逻辑(通过模拟采样)
  • 逐步过渡到 ML 模型

混合方案优势:SHAP 可视化可以立即落地,不需要等模型训练完成,可先向客户展示成本解释能力,验证市场价值后再投入完整 ML 开发。


Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐