PMML 中缺少/空 DataField 值

Missing / Null DataField values in PMML

我正在使用 .Net 核心中的 Syncfusion PMML 执行引擎 17.3.0.21 在 C# 中构建 POC,尝试根据在 R 和 Python 中生成的模型从导出的 PMML 中获得预测结果。

问题:PMML and/or Syncfusion 引擎标准是否允许为给定的 PMML 数据字段提供 null 值?我有一个这样的数据字段:

<DataField name="myAttribute" optype="continous" dataType="double"/>

在我的代码中,我有一个 IDictionary<string, object>,其中包含一个带有 "myAttribute" 且值为 null 的元素,但在调用引擎时总是得到一个 NullReferenceException

at Syncfusion.PMML.Helper.GetActualInputsList(Dictionary`2 fieldValuePair, MiningSchema miningSchema, LocalTransformations localTransformation, TransformationDictionary transformationDictionary, PMMLModel pmmlModel)
  at Syncfusion.PMML.MiningModelEvaluator.GetResult(Object obj, IModelOptions modelOptions)
  at ml.pmml.PmmlEngine.Execute(IDictionary`2 parameters) in C:\source\ml.pmml\PmmlEngine.cs:line 27
  at ml.console.Program.Main(String[] args) in C:\source\ml.console\Program.cs:line 86

提供所有值后,引擎工作正常。

来自 Syncfusion 的问候。

我们已确认所报告的问题是缺陷并记录了此问题的缺陷报告。

Syncfusion PMML 执行引擎不允许计算 null、na 和“”(空字符串)。如果您的数据具有 null 或空值,预期结果将抛出一条错误消息以提供正确的值。同样的修复将包含在我们即将发布的每周 NuGet 版本中,预计将于 2019 年 11 月 12 日发布。

如有任何进一步的疑问,请从我们的支持网站创建一个新事件(在您的帐户下)以快速提供解决方案。请从下面找到支持网站 link。 https://www.syncfusion.com/support/directtrac/incidents/newincident

注意:我为 Syncfusion 工作