Portable Format for Analytics

From Wikipedia, the free encyclopedia

DevelopedbyJim Pivarski
Data Mining Group
Latest release
0.8.1
November 10, 2015; 10 years ago (2015-11-10)
Type of formatPredictive modelling
ExtendedfromJSON
Portable Format for Analytics
Developed byJim Pivarski
Data Mining Group
Latest release
0.8.1
November 10, 2015; 10 years ago (2015-11-10)
Type of formatPredictive modelling
Extended fromJSON
Websitedmg.org/pfa/

The Portable Format for Analytics (PFA) is a JSON-based predictive model interchange format conceived and developed by Jim Pivarski.[citation needed] PFA provides a way for analytic applications to describe and exchange predictive models produced by analytics and machine learning algorithms. It supports common models such as logistic regression and decision trees. Version 0.8 was published in 2015. Subsequent versions have been developed by the Data Mining Group.[1]

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 or PMML.[2]

VersionRelease date
Version 0.8.1November 2015

Data Mining Group

The Data Mining Group is a consortium managed by the Center for Computational Science Research, Inc., a nonprofit founded in 2008.[3]

Examples

  • reverse array:
 # reverse input array of doubles
 input: {"type": "array", "items": "double"}
 output: {"type": "array", "items": "double"}
 action:
   - let: { x : input}
   - let: { z : input}
   - let: { l : {a.len: [x]}}
   - let: { i : l}
   - while : { ">=" : [i,0]}
     do:
       - set : {z : {attr: z, path : [i] , to: {attr : x ,path : [ {"-":[{"-" : [l ,i]},1]}]  } } }
       - set : {i : {-:[i,1]}}
   - z
  • Bubblesort
 input: {"type": "array", "items": "double"}
 output: {"type": "array", "items": "double"}
 action:
   - let: { A : input}
   - let: { N : {a.len: [A]}}
   - let: { n : {-:[N,1]}}
   - let: { i : 0}
   - let: { s : 0.0}
   - while : { ">=" : [n,0]}
     do :
       - set : { i : 0 }
       - while : { "<=" : [i,{-:[n,1]}]}
         do :
           - if: {">": [ {attr: A, path : [i]} , {attr: A, path:[{+:[i,1]}]} ]}
             then : 
               - set : {s : {attr: A, path: [i]}}
               - set : {A : {attr: A, path: [i], to: {attr: A, path:[{+:[i,1]}]} } }
               - set : {A : {attr: A, path: [{+:[i,1]}], to: s }}
           - set : {i : {+:[i,1]}}
       - set : {n : {-:[n,1]}}                 
   - A

Implementations

References

Related Articles

Wikiwand AI