9
PMML (Predictive Model Markup Language) Nicolas DULIAN [email protected] KXEN-Confidential Agenda ! Présentation de PMML (Predictive Model Markup Language ! Le contenu du standard PMML ! L’architecture des modèles PMML ! Exemple/Pratique: _ Outils datamining utilisant le PMML _ Applications datamining…

PrÇsentation PMML fr - lipn.univ-paris13.frlipn.univ-paris13.fr/~bennani/tmpc/Presentation_PMML_fr.pdf · PMML (Predictive Model Markup Language) Nicolas DULIAN [email protected]

  • Upload
    lebao

  • View
    229

  • Download
    1

Embed Size (px)

Citation preview

Page 1: PrÇsentation PMML fr - lipn.univ-paris13.frlipn.univ-paris13.fr/~bennani/tmpc/Presentation_PMML_fr.pdf · PMML (Predictive Model Markup Language) Nicolas DULIAN nicolas.dulian@kxen.com

PMML(Predictive Model Markup Language)

Nicolas [email protected]

KXEN-Confidential

Agenda

! Présentation de PMML (Predictive Model Markup Language! Le contenu du standard PMML! L’architecture des modèles PMML! Exemple/Pratique:

_ Outils datamining utilisant le PMML_ Applications datamining…

Page 2: PrÇsentation PMML fr - lipn.univ-paris13.frlipn.univ-paris13.fr/~bennani/tmpc/Presentation_PMML_fr.pdf · PMML (Predictive Model Markup Language) Nicolas DULIAN nicolas.dulian@kxen.com

KXEN-Confidential

PMML: le projet

! Qui?_ Consortium

! Pour Qui?_ Cible

! Quand?_ Dates clefs

! Pourquoi?_ Motivations/Objectifs

! Quoi?_ Définition XML pour le transport de modèle

! Ou?_ Site principal http://www.dmg.org_ Forum publique http://sourceforge.net/forum/?group_id=56177_ Project http://sourceforge.net/projects/pmml

KXEN-Confidential

Cible

! Architecte_ Chez un vendeur de logiciel métier (CRM, SCM, …), il peut intégrer des

fonctions de scoring/prévision par importation des modèles_ Chez un vendeur d’outil d’analyse de données, il peut exporter des

modèles destinés à être intégrer dans des environnements de scoring_ Dans une communauté ‘open-source’, il peut implémenter une version

gratuite et/mais standard de l’analyse de données

! Étudiant_ Connaissance des standards du marché et de leurs fournisseurs

Page 3: PrÇsentation PMML fr - lipn.univ-paris13.frlipn.univ-paris13.fr/~bennani/tmpc/Presentation_PMML_fr.pdf · PMML (Predictive Model Markup Language) Nicolas DULIAN nicolas.dulian@kxen.com

KXEN-Confidential

Consortium

! Membres principaux (PMML 3.0)_ IBM_ KXEN_ Microsoft_ MicroStrategy Inc._ National Center of Data Mining_ Open Data_ Oracle Corporation_ PrudSys AG_ Salford Systems_ Sas Inc._ SPSS_ StatSoft

! Membres associés_ NCR_ SAP_ …

KXEN-Confidential

Dates clefs

! Novembre 1998_ Première présentation (Supercomputing 1998)_ PMML 0.9_ Implémentation de référence

! Aout 1999_ Création d’un consortium_ PMML 1.0 (KDD-1999)

! 2000_ Oracle, IBM et Microsoft rejoigne le consortium_ Généralisation de PMML (statistiques et data mining)_ PMML 1.1

! 2001_ PMML 2.0_ Amélioration de PMML pour le data mining

" Transformations" Agrégations

! 2002_ KXEN rejoint le consortium

! 2004_ PMML 3.0

! 2005_ PMML 3.1

Page 4: PrÇsentation PMML fr - lipn.univ-paris13.frlipn.univ-paris13.fr/~bennani/tmpc/Presentation_PMML_fr.pdf · PMML (Predictive Model Markup Language) Nicolas DULIAN nicolas.dulian@kxen.com

KXEN-Confidential

Motivations/Objectifs

! Complémentarité_ Respecte les autres normes (JDM, SQL-MM, CWM)

! Uniformité_ Création d’un standard_ Homogénéisation des concepts_ Format d’échange (XML)

! Intégration_ Format standard (XML)_ Schéma de référence

KXEN-Confidential

PMML transporte des modèles issusd’algorithmes

! PMML 2.1:_ Régression lineaire/logistique_ Clustering KMeans_ Règles d’association_ Réseaux de neuronnes_ Arbre de décision_ Séquence

! PMML 3.0:_ + SVM et Text mining

Page 5: PrÇsentation PMML fr - lipn.univ-paris13.frlipn.univ-paris13.fr/~bennani/tmpc/Presentation_PMML_fr.pdf · PMML (Predictive Model Markup Language) Nicolas DULIAN nicolas.dulian@kxen.com

KXEN-Confidential

Architecture d’un modèle PMML

! Définition des dictionnaires:_ Nom_ Type_ Valeur

! Déclaration des transformations_ Encodage des variables

! Modèles_ Decision tree_ Naive Bayes_ Support Vector Machine_ …

KXEN-Confidential

Définition des dictionnaires

! Variable d’entrée_ Nom de la variable_ Type de variable

" Categorical

" Ordinal

" Continuous

_ Type de données" Number

" String

_ Valeurs de la variable" Liste des catégories possibles

" Liste des valeurs manquantes

" Intervalle de la variable

Page 6: PrÇsentation PMML fr - lipn.univ-paris13.frlipn.univ-paris13.fr/~bennani/tmpc/Presentation_PMML_fr.pdf · PMML (Predictive Model Markup Language) Nicolas DULIAN nicolas.dulian@kxen.com

KXEN-Confidential

Définition des transformations

! Encodage de la Variable d’entrée_ Association d’une valeur numérique à une entrée

" Transformation linéaire

" Association d’une valeur à une catégorie

" Agrégation

KXEN-Confidential

Définition des modèles

! Choix du modèle_ Définition des variables utilisées

" Rôle

" Définition des comportements (outlier, traitement des valeurs manquantes)

" Définition de l’intervalle de validité

_ Définition des cibles_ Définition des statistiques_ Définition des transformations locales

" Propre à chaque type de modèle

_ Définition du calcul

Page 7: PrÇsentation PMML fr - lipn.univ-paris13.frlipn.univ-paris13.fr/~bennani/tmpc/Presentation_PMML_fr.pdf · PMML (Predictive Model Markup Language) Nicolas DULIAN nicolas.dulian@kxen.com

KXEN-Confidential

Outils utilisant le PMML

! 2 catégories d’outils pour le PMML_ Outils générant du PMML

" Modélisation en PMML– KXEN

– …

_ Outils intégrant du PMML" Exécution et simulation de fichier PMML

– MicroStrategy

– …

KXEN-Confidential

Exemple de création d’un modèle PMML(1)

! Définition du header

! Définition des dictionnaires

<?xml version="1.0“ ?>

<PMML version= “3.1“ xmlns=“http://www.dmg.org/PMML-3_1“ xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance">

<Header copyright= “KXEN“/>

<DataDictionary>

<DataField optype=“continuous” name=“age”>

<Interval rightMargin=“90“ leftMargin=“17” closure= “closedClosed“/>

</DataField>

<DataField optype=“categorical” name=“marital-status”>

<Value value=“Divorced“/>

<Value value=“Missing“ property=“missing”/>

</DataField>

<DataField optype="continuous" name="rr_Status of credit account">

<Interval rightMargin="0" leftMargin="0" closure="closedClosed" />

</DataField>

</DataDictionary>

Page 8: PrÇsentation PMML fr - lipn.univ-paris13.frlipn.univ-paris13.fr/~bennani/tmpc/Presentation_PMML_fr.pdf · PMML (Predictive Model Markup Language) Nicolas DULIAN nicolas.dulian@kxen.com

KXEN-Confidential

Exemple de création d’un modèle PMML(2)

! Définition des transformations des dictionnaires

<TransformationDictionary>

<DerivedField name=“kxen_age“>

<NormContinuous field= “age“>

<LinearNorm orig=“17” norm=“-1.58090064”/>

<LinearNorm orig=“90” norm=“3.732020564”/>

</NormContinuous>

</DerivedField>

<DerivedField name=“kxen_marital-status”>

<MapValues defaultValue=“0.2087222” outputColumn=“outmap_KxVar1”>

<FieldColumnPair column=“KxVar1” field=“marital-status”/>

<InlineTable>

<row>

<KxVar1>Missing</KxVar1>

<outmap_KxVar1>40.053485576923123</outmap_KxVar1>

</row>

<row>

<KxVar1>Divorced</KxVar1>

<outmap_KxVar1>43.307319101746586</outmap_KxVar1>

</row>

</InlineTable>

</MapValues>

</DerivedField>

</TransformationDictionary>

KXEN-Confidential

Exemple de création d’un modèle PMML(3)

! Définition du modèle

! Définition du footer

<RegressionModel functionName="regression" targetFieldName="rr_Status of credit account«

modelType="stepwisePolynomialRegression" modelName="">

<MiningSchema>

<MiningField usageType="predicted" name="rr_Status of credit account"/>

<MiningField usageType="active" name="marital-status" />

<MiningField usageType="active" name="age" outliers="asExtremeValues" highValue="90" lowValue="17" />

</MiningSchema>

<RegressionTable intercept="0.12032505337028977">

<NumericPredictor exponent="1" coefficient="0.19180105737725087" name="kxen_Marital status"/>

<NumericPredictor exponent="1" coefficient="0.28294496376733896" name="kxen_age"/>

</RegressionTable>

</RegressionModel>

</PMML>

Page 9: PrÇsentation PMML fr - lipn.univ-paris13.frlipn.univ-paris13.fr/~bennani/tmpc/Presentation_PMML_fr.pdf · PMML (Predictive Model Markup Language) Nicolas DULIAN nicolas.dulian@kxen.com

KXEN-Confidential

Exemple de génération(KXEN)

KXEN-Confidential

Exemple d’intégration(MicroStrategy)