您好我使用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数据类型。 PMMl读者怎么能解释它的类型呢?
我查看了PMML规范,并说它并不总是需要OutputField的dataType。我正在写一个pmml阅读器,我需要知道如何对这样的pmml进行解释。
答案 0 :(得分:0)
dataType
和optype
属性对于OutputField
元素是可选的,但任何理智的PMML生产者都应该指定它们,因为这会使PMML消费者的生活更加轻松。 / p>
如果缺少dataType
属性,则可以根据feature
元素的OutputField
属性推断它。在当前情况下,feature
属性的值设置为predictedValue
,这意味着数据类型和操作类型将从代表“{1}”元素的DataField
元素中“复制”该模型的目标字段。这里,目标字段(也称为预测字段)称为“ResponseAccountName”,这意味着此OutputField
元素的值将是连续的两倍。