[jboss-jira] [JBoss JIRA] (DROOLS-5422) Fix DMN-PMML integration/managed fields
Gabriele Cardosi (Jira)
issues at jboss.org
Tue Jun 9 05:05:52 EDT 2020
[ https://issues.redhat.com/browse/DROOLS-5422?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gabriele Cardosi updated DROOLS-5422:
-------------------------------------
Description:
>From [Output|[http://dmg.org/pmml/v4-4/Output.html]] documentation:
"If present, the attribute {{targetField}} must refer either to a {{MiningField}} of usage type {{target}} or a field described in {{Targets}} element. {{targetField}} is a required attribute in case the model has multiple target fields."
"predictedValue
Select the raw predicted value. More than one OutputField element can have the predictedValue feature only if the model predicts more than one field. Details can be found in the description of the individual models."
>From [MiningSchema|[http://dmg.org/pmml/v4-4/MiningSchema.html]] documentation:
"*predicted*: field whose value is predicted by the model. As of PMML 4.2, this is deprecated and it has been replaced by the usage type {{target}}."
So, _predicted_ field(s) is/are the one(s) defined as "_target/predicted_" inside _MiningSchema_ or the one(s) defined inside [Targets|[http://dmg.org/pmml/v4-4/Targets.html]] element.
_Output_ has to be considered as _additional_ results; it does not _necessarily_ contains the _target/predicted_ value; *but* the _target/predicted_ value should always be returned.
Currently, DMN (see DMNKiePMMLInvocationEvaluator as example) implement the following algorithm:
1) if "_Output_" element is present, it only manage it (ignores _MiningSchema_ fields)
2) if "_Output_" element is not present, it retrieves "_target_" from _MiningSchema_.
This approach has the following issues
1) it is not mandatory to have the "_target/predicted_" field referenced inside the "_Output_" element; but with the current implementation, the user is "_forced_" to duplicate target reference inside "_Output_" if s/he wants additional outputs from model
2) it completely ignores "_Targets_" element
With this PR, DMN will manage both the _Output_ elements (if present) and all the _target/predicted_ fields, regardless of where/how they are defined.
If such _target/predicted_ fields is/are referred *also* in Output element, only the one(s) inside _Output_ will be managed.
If _Output_ does not define "t_arget/predicted_" _OutputField_(s), the one(s) from _MiningSchema_ or _Targets_ will be managed.
was:
>From [Output|[http://dmg.org/pmml/v4-4/Output.html]] documentation:
"If present, the attribute {{targetField}} must refer either to a {{MiningField}} of usage type {{target}} or a field described in {{Targets}} element. {{targetField}} is a required attribute in case the model has multiple target fields."
"predictedValue
Select the raw predicted value. More than one OutputField element can have the predictedValue feature only if the model predicts more than one field. Details can be found in the description of the individual models."
>From [MiningSchema|[http://dmg.org/pmml/v4-4/MiningSchema.html]] documentation:
"*predicted*: field whose value is predicted by the model. As of PMML 4.2, this is deprecated and it has been replaced by the usage type {{target}}."
So, _predicted_ field(s) is/are the one(s) defined as "_target/predicted_" inside _MiningSchema_ or the one(s) defined inside [Targets|[http://dmg.org/pmml/v4-4/Targets.html]] element.
Output have to be considered as _additional_ results; it does not _necessarily_ contains the _target/predicted_ value; *but* the _target/predicted_ value should always be returned.
Currently, DMN (see DMNKiePMMLInvocationEvaluator as example) implement the following algorithm:
1) if "_Output_" element is present, it only manage it (ignores _MiningSchema_ fields)
2) if "_Output_" element is not present, it retrieves "_target_" from _MiningSchema_.
This approach has the following issues
1) it is not mandatory to have the "_target/predicted_" field referenced inside the "_Output_" element; but with the current implementation, the user is "_forced_" to duplicate target reference inside "_Output_" if s/he wants additional outputs from model
2) it completely ignores "_Targets_" element
With this PR, DMN will manage both the _Output_ elements (if present) and all the _target/predicted_ fields, regardless of where/how they are defined.
If such _target/predicted_ fields is/are referred *also* in Output element, only the one(s) inside _Output_ will be managed.
If _Output_ does not define "t_arget/predicted_" _OutputField_(s), the one(s) from _MiningSchema_ or _Targets_ will be managed.
> Fix DMN-PMML integration/managed fields
> ---------------------------------------
>
> Key: DROOLS-5422
> URL: https://issues.redhat.com/browse/DROOLS-5422
> Project: Drools
> Issue Type: Task
> Reporter: Gabriele Cardosi
> Assignee: Gabriele Cardosi
> Priority: Major
>
> From [Output|[http://dmg.org/pmml/v4-4/Output.html]] documentation:
> "If present, the attribute {{targetField}} must refer either to a {{MiningField}} of usage type {{target}} or a field described in {{Targets}} element. {{targetField}} is a required attribute in case the model has multiple target fields."
> "predictedValue
> Select the raw predicted value. More than one OutputField element can have the predictedValue feature only if the model predicts more than one field. Details can be found in the description of the individual models."
> From [MiningSchema|[http://dmg.org/pmml/v4-4/MiningSchema.html]] documentation:
> "*predicted*: field whose value is predicted by the model. As of PMML 4.2, this is deprecated and it has been replaced by the usage type {{target}}."
>
> So, _predicted_ field(s) is/are the one(s) defined as "_target/predicted_" inside _MiningSchema_ or the one(s) defined inside [Targets|[http://dmg.org/pmml/v4-4/Targets.html]] element.
>
> _Output_ has to be considered as _additional_ results; it does not _necessarily_ contains the _target/predicted_ value; *but* the _target/predicted_ value should always be returned.
>
> Currently, DMN (see DMNKiePMMLInvocationEvaluator as example) implement the following algorithm:
> 1) if "_Output_" element is present, it only manage it (ignores _MiningSchema_ fields)
> 2) if "_Output_" element is not present, it retrieves "_target_" from _MiningSchema_.
> This approach has the following issues
> 1) it is not mandatory to have the "_target/predicted_" field referenced inside the "_Output_" element; but with the current implementation, the user is "_forced_" to duplicate target reference inside "_Output_" if s/he wants additional outputs from model
> 2) it completely ignores "_Targets_" element
> With this PR, DMN will manage both the _Output_ elements (if present) and all the _target/predicted_ fields, regardless of where/how they are defined.
>
> If such _target/predicted_ fields is/are referred *also* in Output element, only the one(s) inside _Output_ will be managed.
> If _Output_ does not define "t_arget/predicted_" _OutputField_(s), the one(s) from _MiningSchema_ or _Targets_ will be managed.
>
>
>
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the jboss-jira
mailing list