0

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

4

1 回答 1

0

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

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

于 2016-01-29T08:37:19.063 回答