PMML中缺少/空的DataField值

时间:2019-10-30 20:41:26

标签: c# syncfusion pmml

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

问题:PMML和/或Syncfusion Engine标准是否允许为给定的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

提供所有值后,引擎运行正常。

1 个答案:

答案 0 :(得分:1)

Syncfusion的问候。

我们已经确认报告的问题是缺陷,并且已记录此问题的缺陷报告。

Syncfusion PMML执行引擎不允许使用null,na和“”(空字符串)进行计算。如果您的数据为空值或空值,则预期结果将引发错误消息以提供适当的值。相同的修复程序将包含在我们即将发布的每周NuGet版本中,预计将于2019年11月12日发布。

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

注意:我为Syncfusion工作