Como formato de intercambio de modelos predictivos desarrollado por el Grupo de Minería de Datos, PFA es complementario al estándar basado en XML de DMG llamado Predictive Model Markup Language o PMML . [2]
Historial de versiones
Grupo de Minería de Datos
El Data Mining Group es un consorcio administrado por el Centro de Investigación en Ciencias Computacionales, Inc., una organización sin fines de lucro fundada en 2008. [3]
Ejemplos
matriz inversa:
# matriz de entrada inversa de dobles entrada: {"tipo": "matriz", "elementos": "doble"} salida: {"tipo": "matriz", "elementos": "doble"} acción: - sea: { x : entrada} - sea: { z : entrada} - sea: { l : {a.len: [x]}} - sea: { i : l} - mientras : { ">=" : [i,0]} hacer: - conjunto: {z: {attr: z, ruta: [i], hasta: {attr: x, ruta: [ {"-":[{"-" : [l, i]},1]}] } } } - conjunto: {i: {-:[i,1]}} - el
Clasificación de burbujas
entrada: {"tipo": "matriz", "elementos": "doble"} salida: {"tipo": "matriz", "elementos": "doble"} acción: - sea: { A : entrada} - sea: { N : {a.len: [A]}} - sea: { n : {-:[N,1]}} - sea: { i : 0} - sea: { s : 0.0} - mientras : { ">=" : [n,0]} hacer : - conjunto: { i : 0 } - mientras : { "<=" : [i,{-:[n,1]}]} hacer : - si: {">": [ {attr: A, ruta: [i]} , {attr: A, ruta:[{+:[i,1]}]} ]} entonces : - conjunto: {s: {attr: A, ruta: [i]}} - conjunto: {A: {attr: A, ruta: [i], a: {attr: A, ruta:[{+:[i,1]}]} } } - conjunto: {A: {attr: A, ruta: [{+:[i,1]}], hasta: s }} - conjunto: {i: {+:[i,1]}} - conjunto: {n: {-:[n,1]}} - A
Implementaciones
Hadrian (Java/Scala/JVM): Hadrian es una implementación completa de PFA en Scala, a la que se puede acceder a través de cualquier lenguaje JVM, principalmente Java. Se centra en la implementación de modelos, por lo que es flexible (puede ejecutarse en entornos restringidos) y rápido. [4]
Titus (Python 2.x): Titus es una implementación completa e independiente de PFA en Python puro. Se centra en el desarrollo de modelos, por lo que incluye productores de modelos y herramientas de manipulación de PFA además de la ejecución en tiempo de ejecución. Actualmente, funciona para Python 2. [4]
Titus 2 (Python 3.x): Titus 2 es una bifurcación de Titus que admite la implementación de PFA para Python 3. [5]
Aurelius (R) - Aurelius es un conjunto de herramientas para generar PFA en el lenguaje de programación R. Se centra en trasladar modelos a PFA desde sus equivalentes R. Para validar o ejecutar motores de puntuación, Aurelius los envía a Titus a través de rPython (por lo que ambos deben estar instalados). [4]
Antinous (desarrollo de modelos en Jython): Antinous es un complemento de producción de modelos para Hadrian que permite ejecutar código Jython en cualquier lugar donde se ejecutaría un motor de puntuación PFA. También tiene una biblioteca de algoritmos de producción de modelos. [4]
Referencias
^ "Data Mining Group" . Consultado el 14 de diciembre de 2017 . El DMG se enorgullece de albergar a los grupos de trabajo que desarrollan el Predictive Model Markup Language (PMML) y el Portable Format for Analytics (PFA) , dos estándares complementarios que simplifican la implementación de modelos analíticos.
^ "Formato portátil para análisis: trasladar modelos a producción" . Consultado el 25 de abril de 2016 .
^ "2008 OE 990" . Consultado el 16 de octubre de 2014 .
^ abcd Implementaciones del formato portátil para análisis (PFA): opendatagroup/hadrian, Open Data Group, 2019-08-15 , consultado el 2019-11-22
^ Mahato, Ankit (21 de noviembre de 2019), Titus 2: Implementación de formato portátil para análisis (PFA) para Python 3.4+: animator/titus2 , consultado el 22 de noviembre de 2019