You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在KNIME中导出包含全量转换步骤的PMML文件

KNIME多预处理节点串联导出全流程PMML操作方法

核心原因

导出的PMML缺失前置转换步骤,本质是没有串联KNIME节点自带的独立蓝色PMML链路。KNIME的节点默认有两套独立端口:

  • 黑色端口:传输实际执行的数据流,只负责跑通工作流拿到训练数据
  • 蓝色端口:传输PMML转换规则流,只有串过这条链路的转换逻辑才会被写入最终导出的PMML文件
    仅连接黑色数据端口、不串联蓝色PMML端口的情况下,只能捕获到最后一个连到PMML Appender的节点的转换规则。

具体操作步骤

  1. 确认节点合规性
    替换所有社区扩展的第三方预处理节点为KNIME核心插件自带的原生节点:One to Many(独热编码)、Column Filter(列删除)、Normalizer(归一化)、分类模型训练节点,这几类原生节点默认都带PMML端口,第三方节点大概率不支持PMML规则导出。
  2. 调出隐藏的PMML端口
    如果节点上看不到蓝色端口,右键点击对应节点,选择Show/Hide Ports,勾选PMML输入、PMML输出端口选项即可,部分KNIME版本会默认隐藏非数据类端口。
  3. 双链路并行串联
    按工作流的执行顺序,同时连好两条链路,不要混接不同颜色的端口:
    • 黑色数据链路:按原有逻辑,从数据源依次连One to Many → Column Filter → Normalizer → 模型训练节点
    • 蓝色PMML链路:从One to Many的PMML输出端口出发,依次连Column Filter的PMML输入端口 → Column Filter的PMML输出端口连Normalizer的PMML输入端口 → Normalizer的PMML输出端口连模型训练节点的PMML输入端口
  4. 导出PMML
    把模型训练节点的PMML输出端口直接连到PMML Writer节点导出文件即可,不需要额外再接PMML Appender,此时导出的PMML会严格按执行顺序内置独热编码、原始分类列删除、归一化的全部规则,跨平台运行不会再报衍生列不存在的错误。

注意事项

  • 不要跳接PMML端口:比如跳过Column Filter直接把One to Many的PMML输出连到Normalizer,会导致PMML内记录的转换顺序和实际数据处理顺序不一致,上线运行仍会报列匹配错误。
  • Column Filter节点的PMML端口会自动同步配置好的列删除规则,不需要在PMML链路里重复配置过滤条件。
  • 如果用的是不支持PMML输入端口的第三方模型训练节点,就把最后一个预处理节点的PMML输出连到PMML Appender,再把模型输出的模型对象连到PMML Appender的对应端口,合并后再导出即可。

内容的提问来源于stack exchange,提问作者Aayush Shah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 22:09:23