PMML阅读器如何解释预测值的类型?

时间:2016-01-29 04:53:28

标签: machine-learning pmml

您好我使用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进行解释。

1 个答案:

答案 0 :(得分:0)

dataTypeoptype属性对于OutputField元素是可选的,但任何理智的PMML生产者都应该指定它们,因为这会使PMML消费者的生活更加轻松。 / p>

如果缺少dataType属性,则可以根据feature元素的OutputField属性推断它。在当前情况下,feature属性的值设置为predictedValue,这意味着数据类型和操作类型将从代表“{1}”元素的DataField元素中“复制”该模型的目标字段。这里,目标字段(也称为预测字段)称为“ResponseAccountName”,这意味着此OutputField元素的值将是连续的两倍。