Predictive Model Markup Language

From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search
The Predictive Model Markup Language (PMML) is an XML-based markup language developed by the Data Mining Group (DMG) to provide a way for applications to define models related to predictive analytics and data mining and to share those models between PMML-compliant applications.

PMML provides applications a vendor-independent method of defining models so that proprietary issues and incompatibilities are no longer a barrier to the exchange of models between applications. It allows users to develop models within one vendor's application and use other vendors' applications to visualize, analyze, evaluate or otherwise use the models. Previously, this was very difficult, but with PMML, the exchange of models between compliant applications is straightforward.

Since PMML is an XML-based standard, the specification comes in the form of an XML schema.


PMML Components

PMML follows an intuitive structure to describe a data mining model, be it an artificial neural network or a logistic regression model.

Sequentially, it can be described by the following components:[1]

  • Header: contains general information about the PMML document, such as copyright information for the model, its description, and information about the application used to generate the model such as name and version. It also contains an attribute for a timestamp which can be used to specify the date of model creation.
  • Data Dictionary: contains definitions for all the possible fields used by the model. It is here that a field is defined as continuous, categorical, or ordinal (attribute optype). Depending on this definition, the appropriate value ranges are then defined as well as the data type (such as, string or double).
  • Data Transformations: transformations allow for the mapping of user data into a more desirable form to be used by the mining model. PMML defines several kinds of simple data transformations.
    • Normalization: map values to numbers, the input can be continuous or discrete.
    • Discretization: map continuous values to discrete values.
    • Value mapping: map discrete values to discrete values.
    • Functions: derive a value by applying a function to one or more parameters.
    • Aggregation: used to summarize or collect groups of values.
  • Model: contains the definition of the data mining model. A multi-layered feedforward neural network is the most common neural network representation in contemporary applications, given the popularity and efficacy associated with its training algorithm known as backpropagation. Such a network is represented in PMML by a "NeuralNetwork" element which contains attributes such as:
    • Model Name (attribute modelName)
    • Function Name (attribute functionName)
    • Algorithm Name (attribute algorithmName)
    • Activation Function (attribute activationFunction)
    • Number of Layers (attribute numberOfLayers)

This information is then followed by three kinds of neural layers which specify the architecture of the neural network model being represented in the PMML document. These attributes are NeuralInputs, NeuralLayer, and NeuralOutputs. Besides neural networks, PMML allows for the representation of many other data mining models including support vector machines, association rules, Naive Bayes classifier, clustering models, text models, decision trees, and different regression models.

  • Mining Schema: the mining schema lists all fields used in the model. This can be a subset of the fields as defined in the data dictionary. It contains specific information about each field, such as:
    • Name (attribute name): must refer to a field in the data dictionary
    • Usage type (attribute usageType): defines the way a field is to be used in the model. Typical values are: active, predicted, and supplementary. Predicted fields are those whose values are predicted by the model.
    • Outlier Treatment (attribute outliers): defines the outlier treatment to be use. In PMML, outliers can be treated as missing values, as extreme values (based on the definition of high and low values for a particular field), or as is.
    • Missing Value Replacement Policy (attribute missingValueReplacement): if this attribute is specified then a missing value is automatically replaced by the given values.
    • Missing Value Treatment (attribute missingValueTreatment): indicates how the missing value replacement was derived (e.g. as value, mean or median).
  • Targets: allow for post-processing of the predicted value in the format of scaling if the output of the model is continuous. Targets can also be used for classification tasks. In this case, the attribute priorProbability specifies a default probability for the corresponding target category. It is used if the prediction logic itself did not produce a result. This can happen, e.g., if an input value is missing and there is no other method for treating missing values.
  • Output: this element can be used to name all the desired output fields expected from the model. These are features of the predicted field and so are typically the predicted value itself, the probability, cluster affinity (for clustering models), standard error, etc.

PMML 4.0

The latest version of PMML, 4.0, was released on June 16, 2009.[2][3][4]

Examples of new features include:

  • Improved Pre-Processing Capabilities: Additions to built-in functions include a range of Boolean operations and an If-Then-Else function.
  • Model Explanation: Saving of evaluation and model performance measures to the PMML file itself.
  • Multiple Models: Capabilities for model composition, ensembles, and segmentation (e.g., combining of regression and decision trees).

Release history

Version 0.7July 1997
Version 0.9July 1998
Version 1.0August 1999
Version 1.1August 2000
Version 2.0August 2001
Version 2.1March 2003
Version 3.0October 2004
Version 3.1December 2005
Version 3.2May 2007
Version 4.0June 2009

PMML Products

A range of products are being offered to produce and consume PMML:

  • KXEN: produces PMML 3.2 for regression models and clustering.
  • SPSS: produces and scores PMML 3.2 for a variety of models.


  1. A. Guazzelli, M. Zeller, W. Chen, and G. Williams. PMML: An Open Standard for Sharing Models. The R Journal, Volume 1/1, May 2009.
  2. Data Mining Group website | PMML 4.0 - Changes from PMML 3.2
  3. Zementis website | PMML 4.0 is here!
  4. R. Pechter. What's PMML and What's New in PMML 4.0? The ACM SIGKDD Explorations Newsletter, Volume 11/1, July 2009.

External links

fr:Predictive Model Markup Language

Personal tools

Served in 0.133 secs.