The Portable Format for Analytics (PFA) is a
JSON
JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other s ...
-based
predictive model
Predictive modelling uses statistics to predict outcomes. Most often the event one wants to predict is in the future, but predictive modelling can be applied to any type of unknown event, regardless of when it occurred. For example, predictive mod ...
interchange format conceived and developed by Jim Pivarski. PFA provides a way for analytic applications to describe and exchange
predictive models
Predictive modelling uses statistics to predict outcomes. Most often the event one wants to predict is in the future, but predictive modelling can be applied to any type of unknown event, regardless of when it occurred. For example, predictive mod ...
produced by
analytics
Analytics is the systematic computational analysis of data or statistics. It is used for the discovery, interpretation, and communication of meaningful patterns in data. It also entails applying data patterns toward effective decision-making. It ...
and
machine learning
Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks. It is seen as a part of artificial intelligence.
Machine ...
algorithms. It supports common models such as
logistic regression
In statistics, the logistic model (or logit model) is a statistical model that models the probability of an event taking place by having the log-odds for the event be a linear function (calculus), linear combination of one or more independent var ...
and
decision tree
A decision tree is a decision support tool that uses a tree-like model of decisions and their possible consequences, including chance event outcomes, resource costs, and utility. It is one way to display an algorithm that only contains co ...
s. Version 0.8 was published in 2015. Subsequent versions have been developed by the Data Mining Group.
As a predictive model interchange format developed by the Data Mining Group, PFA is complementary to the DMG's XML-based standard called the
Predictive Model Markup Language
The Predictive Model Markup Language (PMML) is an XML-based Predictive modelling, predictive model interchange format conceived by Dr. Robert Lee Grossman, then the director of the National Center for Data Mining at the University of Illinois at ...
or
PMML
The Predictive Model Markup Language (PMML) is an XML-based predictive model interchange format conceived by Dr. Robert Lee Grossman, then the director of the National Center for Data Mining at the University of Illinois at Chicago. PMML prov ...
.
Release history
Data Mining Group
The Data Mining Group is a consortium managed by the Center for Computational Science Research, Inc., a nonprofit founded in 2008.
Examples
* reverse array:
# reverse input array of doubles
input:
output:
action:
- let:
- let:
- let:
- let:
- while :
do:
- set :
- set :
- z
* Bubblesort
input:
output:
action:
- let:
- let:
- let:
- let:
- let:
- while :
do :
- set :
- while :
do :
- if:
then :
- set :
- set :
- set :
- set :
- set :
- A
Implementations
Hadrian(Java/Scala/JVM) - Hadrian is a complete implementation of PFA in Scala, which can be accessed through any JVM language, principally Java. It focuses on model deployment, so it is flexible (can run in restricted environments) and fast.
Titus(Python 2.x) - Titus is a complete, independent implementation of PFA in pure Python. It focuses on model development, so it includes model producers and PFA manipulation tools in addition to runtime execution. Currently, it works for Python 2.
Titus 2(Python 3.x) - Titus 2 is a fork of Titus which supports PFA implementation for Python 3.
(R) - Aurelius is a toolkit for generating PFA in the R programming language. It focuses on porting models to PFA from their R equivalents. To validate or execute scoring engines, Aurelius sends them to Titus through rPython (so both must be installed).
Antinous(Model development in Jython) - Antinous is a model-producer plugin for Hadrian that allows Jython code to be executed anywhere a PFA scoring engine would go. It also has a library of model producing algorithms.
References
External links
*
*{{GitHub, datamininggroup/pfa
PFA 0.8.1 SpecificationPFA Document StructurePython Multi-User Rest-Api Server for Deploying Portable Format For AnalyticsTitus 2 : Portable Format for Analytics (PFA) implementation for Python 3
Domain-specific knowledge representation languages
Applied machine learning