Vai al contenuto

Predictive Model Markup Language

Da Wikipedia, l'enciclopedia libera.
Versione del 25 ott 2011 alle 21:52 di Gac (discussione | contributi) (+Enciclopedicità dubbia)

Il Predictive Model Markup Language (PMML) è un linguaggio di markup basato su XML sviluppato dal Data Mining Group (DMG) per dare modo alle applicazioni di: definire modelli collegati all'analisi predittiva, al Data Mining e condividere modelli tra applicazioni.

PMML fornisce un metodo, indipendente dal distributore, di definizione di modelli, in modo tale che questioni proprietarie e incompatibilità non sono più barriere per lo scambio di modelli tra applicazioni.

Esso consente agli utenti di sviluppare modelli in una applicazione e usarne altre per visualizzarli, analizzarli e valutarli. Prima, questo era molto difficile, ma con PMML, lo scambio di modelli tra applicazioni è diventato semplice.

Da quando PMML è uno standard basato su XML, le specifiche sono XML Schema.

Componenti PMML

PMML segue una struttura intuitiva per descrivere un modello di data mining, che sia esso un modello di rete neurale o un modello di regressione logistica.

La struttura può essere descritta dai seguenti componenti:[1][2]

  • Header: contiene informazioni generali circa il documento PMML, come informazioni sul copyright del modello, sua descrizione e informazioni riguardo l'applicazione (nome e versione) usata per generarlo. Contiene anche un attributo di tipo timestamp il quale può essere usato per specificare la data della creazione del modello.
  • Data Dictionary: contiene le definizioni di tutti i possibili campi usati dal modello. Qui è definito il campo come continuo, categorico o ordinale (attributo optype). Da questa definizione dipende l'appropriata valutazione del range che è definito dopo il tipo di dato (come string e double).
  • Data Transformations: trasformazioni che consentono il mappaggio di dati in diverse forme, per essere usate dal modello di mining. PMML definisce cinque trasformazioni:
    • Normalization: mappa i valori a numeri, l'input può essere continuo o discreto.
    • Discretization: mappa valori continui in valori discreti.
    • Value mapping: mappa valori discreti in valori discreti.
    • Functions: deriva un valore dall'applicazione di una funzione con uno o più parametri.
    • Aggregation: usata per sintetizzare o collezionare gruppi di valori.
  • Model: contiene la definizione del modello di data mining. La multi-layered feedforward neural network è la più comune rappresentazione rete neurale nelle odierne applicazioni, che ha conquistando la popolarità grazie all'efficienza data dall'algoritmo di training conosciuto come backpropagation. Una rete è rappresentata in PMML da un elemento "NeuralNetwork" il quale contiene attributi come:
    • Nome del modello (attributo modelName)
    • Nome funzione (attributo functionName)
    • Nome algoritmo (attributo algorithmName)
    • Funzione di attivazione (attributo activationFunction)
    • Numero di strati (attributo numberOfLayers)

Queste inforamazioni sono seguite da un albero che modella gli strati neurali i quali specificano l'architettura del modello di rete neurale. Questi attributi sono NeuralInputs, NeuralLayer, e NeuralOutputs. Accanto alla rete neurale, PMML consente la rappresentazione di altri tipi di modelli di data mining come: macchine a vettori di supporto, regole di associazione, classificatore bayesiano, clustering models, text models, alberi di decisione e differenti modelli di regressione.

  • Mining Schema: lo schema di mining elenca tutti i campi usati nel modello. Questo può essere un sottoinsieme dei campi definiti nel dizionario. Contiene informazioni specifiche di ogni campo, come:
    • Nome (attributo name): deve riferirsi a un campo del dizionario
    • Tipo d'uso (attributo usageType): definisce il modo di utilizzo di un campo nel modello. Tipicamente i valori sono: active, predicted, e supplementary. I campi Predicted sono quei valori interi predetti dal modello.
    • Trattamento estremo (attributo outliers): definisce i trattamenti estremi che possono essere utilizzati. In PMML, gli estremi (outliers) possono essere trattati come valori mancanti, come valori estremi (basati sulla definizione di massimo e minimo valore del particolare campo, o lasciandoli inalterati).
    • Politica di rimpiazzamento del valore (attributo missingValueReplacement): se questo attributo è specificato dopo un valore mancante è automaticamente rimpiazzato da un valore calcolato.
    • Trattamento valore mancante (attributo missingValueTreatment): indica come il valore di rimpiazzamento è derivato (es. come valore, media o mediana).
  • Targets: consente nel post-processing dei valori predetti di fare operazioni di scalatura se l'aoutput del modello è continuo. Targets possono essere anche usati per classificare compiti. In questo caso l'attributo priorProbability specifica una probabilità di default per la categoria target corrispondente. Esso è usato se la predizione logica non produce un risultato. Questo può accadere, per esempio, se un valore di input è mancante e questo e non è presente un metodo di trattamento dei valori mancanti.
  • Output: Questo elemento può essere usato per nominare tutti i campi di output desiderati aspettati dal modello. Le caratteristiche del campo predetto sono tipicamente i valori predetti, la probabilità, affinità cluster (per modelli clustering), errore standard, etc.

References

  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. ^ A. Guazzelli, W. Lin, T. Jena (2010). PMML in Action: Unleashing the Power of Open Standards for Data Mining and Predictive Analytics. CreateSpace.