DMN 1.3 RTF Avatar
  1. OMG Issue

DMN13 — PMML invocation output value in the case of single prediction

  • Key: DMN13-181
  • Status: closed  
  • Source: Red Hat ( Matteo Mortari)
  • Summary:

    The proposal targets the case of a PMML invocation having a single output prediction(s), for the result to be simply the value result of such single prediction, instead of a context with 1 only entry, name of the single output prediction, and value of that prediction.

  • Reported: DMN 1.2 — Mon, 23 Sep 2019 14:34 GMT
  • Disposition: Resolved — DMN 1.3
  • Disposition Summary:

    Do not wrap single values returned from PMML in context

    Executive summary

    The proposal targets the case of a PMML invocation having a single output prediction(s), for the result to be simply the value result of such single prediction, instead of a context with 1 only entry, name of the single output prediction, and value of that prediction.
    This would also align expected invocation behaviour similarly to what RTF agreed on when dealing with Decision Service, ref: https://issues.omg.org/browse/DMN13-163

    Rationale and details

    By the PMML specification, a ML predictive model can produce multiple outputs, so in general a (FEEL) Context is assumed to be returned by its invocation, containing a key-value pair of prediction name and value.

    However,
    Most PMML models have a single prediction as output.
    To get an idea, can reference examples presented on PMML website: http://dmg.org/pmml/pmml_examples/index.html

    Specifically to a well-known example, Iris dataset, Tree model: http://dmg.org/pmml/pmml_examples/KNIME_PMML_4.1_Examples/single_iris_dectree.xml
    This would imply every time a Decision invokes a BKM for the PMML prediction, something like:

    { class : "Iris-versicolor" }
    

    is returned, instead of simply getting back something like a FEEL string:

    "Iris-versicolor" 
    

    So it would make very annoying for dependent decision the need to always access the single prediction output in the key-value pair:

    result.class
    

    instead of more simply:

    result
    

    and other analogous implications.

    This proposal would align the expected behaviour to what what RTF agreed on when dealing with Decision Service, ref: https://issues.omg.org/browse/DMN13-163 for coercion of the singleton value, in the case of a single PMML output prediction.

  • Updated: Mon, 30 Mar 2020 19:50 GMT