您好,我有一个使用R为逻辑回归模型生成的PMML,如下所示。这里只显示了pmml的第一部分。
<?xml version="1.0"?>
<PMML version="4.2" xmlns="http://www.dmg.org/PMML-4_2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.dmg.org/PMML-4_2 http://www.dmg.org/v4-2/pmml-4-2.xsd">
<Header copyright="Copyright (c) 2015 Upeksha" description="Generalized Linear Regression Model">
<Extension name="user" value="Upeksha" extender="Rattle/PMML"/>
<Application name="Rattle/PMML" version="1.4"/>
<Timestamp>2015-12-02 08:41:27</Timestamp>
</Header>
<DataDictionary numberOfFields="11">
<DataField name="ResponseAccountName" optype="continuous" dataType="double"/>
<DataField name="RegionCat" optype="categorical" dataType="string">
<Value value="ROW"/>
<Value value="EUROPE"/>
<Value value="NAM"/>
</DataField>
<DataField name="TitleCat" optype="categorical" dataType="string">
<Value value="1"/>
<Value value="2"/>
<Value value="3"/>
<Value value="4"/>
</DataField>
<DataField name="RLMaxTitle" optype="categorical" dataType="string">
<Value value="1"/>
<Value value="2"/>
<Value value="3"/>
<Value value="4"/>
</DataField>
<DataField name="Act1_rate" optype="continuous" dataType="double"/>
<DataField name="Act2_rate" optype="continuous" dataType="double"/>
<DataField name="Act3_rate" optype="continuous" dataType="double"/>
<DataField name="Act4_rate" optype="continuous" dataType="double"/>
<DataField name="Act5_rate" optype="continuous" dataType="double"/>
<DataField name="Act6_rate" optype="continuous" dataType="double"/>
<DataField name="AccntAct_rate" optype="continuous" dataType="double"/>
</DataDictionary>
<GeneralRegressionModel modelName="Logistic_Regression" modelType="generalizedLinear" functionName="regression" algorithmName="glm" distribution="binomial" linkFunction="logit">
<MiningSchema>
<MiningField name="ResponseAccountName" usageType="predicted"/>
<MiningField name="RegionCat" usageType="active"/>
<MiningField name="TitleCat" usageType="active"/>
<MiningField name="RLMaxTitle" usageType="active"/>
<MiningField name="Act1_rate" usageType="active"/>
<MiningField name="Act2_rate" usageType="active"/>
<MiningField name="Act3_rate" usageType="active"/>
<MiningField name="Act4_rate" usageType="active"/>
<MiningField name="Act5_rate" usageType="active"/>
<MiningField name="Act6_rate" usageType="active"/>
<MiningField name="AccntAct_rate" usageType="active"/>
</MiningSchema>
<Output>
<OutputField name="Predicted_ResponseAccountName" feature="predictedValue"/>
</Output>此处没有OutputField dataType。如果是这样,PMMl阅读器如何解释它的类型?
我检查了PMML规范,它说OutputField的dataType并不总是必需的。我正在写一个pmml阅读器,我需要知道像这样的pmml是如何解释的。
发布于 2016-01-29 16:37:19
dataType和optype属性对于OutputField元素是可选的,但是任何正常的PMML生产者都应该指定它们,因为这将使PMML消费者的生活变得容易得多。
如果缺少dataType属性,则可以根据OutputField元素的feature属性进行推断。在当前情况下,feature属性的值被设置为predictedValue,这意味着将从表示此模型的目标字段的DataField元素“复制”数据类型和操作类型。这里,目标字段(也称为预测字段)被称为"ResponseAccountName",这意味着这个OutputField元素的值将是连续的双精度。
https://stackoverflow.com/questions/35077144
复制相似问题