07 fdon 5bennani/tmpc/fdon/07_fdon_5.pdf · les applications peuvent utiliser l’automatisation de...

18
1 Data Mining 5 - JDM & bases de données Erik Marcadé [email protected] Master MI2 Pro EID - Université Paris 13 Data mining et Business Intelligence FDON KXEN-Confidential 2 Agenda Présentation de l’entreprise analytique Rappel des concepts Segmentation des acteurs data mining Les standards actuels JDM PMML SQL-MM Base de données et data mining KXEN-Confidential 3 L’entreprise analytique Predictive Analytics Predictive Analytics Recommendations Scoring Data Mining Business Intelligence OLAP Data Quality Query/ Report Data Warehouse OPTIMIZE Customer Retention Product Affinities Promotions Demand Planning Quality Improvement Employee Utilization OPTIMIZE OPTIMIZE Customer Retention Customer Retention Product Affinities Product Affinities Promotions Promotions Demand Planning Demand Planning Quality Improvement Quality Improvement Employee Utilization Employee Utilization ENABLE Customer Interaction Inventory Control Supply Chain Management Quality Measurement Employee Self Service ENABLE ENABLE Customer Interaction Customer Interaction Inventory Control Inventory Control Supply Chain Supply Chain Management Management Quality Measurement Quality Measurement Employee Self Employee Self Service Service UNDERSTAND Customer Satisfaction Product Revenue Cost of Goods Sold HR Turnover UNDERSTAND UNDERSTAND Customer Customer Satisfaction Satisfaction Product Revenue Product Revenue Cost of Goods Sold Cost of Goods Sold HR Turnover HR Turnover Operational Systems ERP ERM WEB CRM Source: Jack Noonan, CEO SPSS, 2002 KXEN-Confidential 4 Les acteurs du Data Mining (Gartner) Salford Systems, Insightful, StatSoft Niches Freeware R, Weka KXEN-Confidential 5 Les standards JDM: Java Data Mining Pour les Programmeurs Java But => “Programmer des applications utilisant le Data Mining” PMML: Predictive Modeling Markup Language Pour les Intégrateurs, éditeurs de logiciels But => “Transporter des modèles des environnements de développement vers des environnements d’exécution” SQL-MM: SQL MultiMedia extensions Pour les Experts SQL But => “Faire du in-data base Data Mining” KXEN-Confidential 6 JDM: le projet Qui? Consortium Pour Qui? Cible Comment? JCP (Java Community Process) Quand? Dates clefs Pourquoi? Motivations/Objectifs Quoi? Une API Java qui formalise des classes standards Ou? Site de forum discussion java datamining: https://datamining.dev.java.net

Upload: others

Post on 25-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

1

Data Mining5 - JDM & bases de données

Erik Marcadé[email protected]

Master MI2 Pro EID - Université Paris 13Data mining et Business IntelligenceFDON

KXEN-Confidential 2

Agenda

� Présentation de l’entreprise analytique■ Rappel des concepts■ Segmentation des acteurs data mining

� Les standards actuels■ JDM■ PMML■ SQL-MM

� Base de données et data mining

KXEN-Confidential 3

L’entreprise analytique

PredictiveAnalyticsPredictiveAnalytics

Recommendations

Scoring

Data Mining

BusinessIntelligence

OLAP

Data

QualityQuery/

Report Data

Warehouse

OPTIMIZE� Customer Retention� Product Affinities� Promotions� Demand Planning � Quality Improvement� Employee Utilization

OPTIMIZEOPTIMIZE�� Customer RetentionCustomer Retention�� Product AffinitiesProduct Affinities�� PromotionsPromotions�� Demand Planning Demand Planning �� Quality ImprovementQuality Improvement�� Employee UtilizationEmployee Utilization

ENABLE� Customer Interaction� Inventory Control� Supply Chain

Management� Quality Measurement � Employee Self

Service

ENABLEENABLE�� Customer InteractionCustomer Interaction�� Inventory ControlInventory Control�� Supply Chain Supply Chain

ManagementManagement�� Quality Measurement Quality Measurement �� Employee Self Employee Self

ServiceService

UNDERSTAND� Customer

Satisfaction� Product Revenue� Cost of Goods Sold� HR Turnover

UNDERSTANDUNDERSTAND�� Customer Customer

SatisfactionSatisfaction�� Product RevenueProduct Revenue�� Cost of Goods SoldCost of Goods Sold�� HR TurnoverHR Turnover

OperationalSystems

ERP

ERM

WEB

CRM

Source: Jack Noonan, CEO SPSS, 2002

KXEN-Confidential 4

Les acteurs du Data Mining (Gartner)

Salford Systems, Insightful, StatSoft

Niches FreewareR, Weka

KXEN-Confidential 5

Les standards

� JDM: Java Data Mining■ Pour les Programmeurs Java■ But => “Programmer des applications utilisant le Data Mining”

� PMML: Predictive Modeling Markup Language■ Pour les Intégrateurs, éditeurs de logiciels■ But => “Transporter des modèles des environnements de

développement vers des environnements d’exécution”

� SQL-MM: SQL MultiMedia extensions■ Pour les Experts SQL■ But => “Faire du in-data base Data Mining”

KXEN-Confidential 6

JDM: le projet

� Qui?■ Consortium

� Pour Qui?■ Cible

� Comment?■ JCP (Java Community Process)

� Quand?■ Dates clefs

� Pourquoi?■ Motivations/Objectifs

� Quoi?■ Une API Java qui formalise des classes standards

� Ou?■ Site de forum discussion java datamining:■ https://datamining.dev.java.net

Page 2: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

2

KXEN-Confidential 7

Cible

� Développeur Java (Septembre 2005: quelques millions)■ Peut créer des applications utilisant l’analyse de données…■ Sans connaissance approfondie de l’analyse de données

� Architecte■ Chez un vendeur de logiciel métier (CRM, SCM, …), il peut intégrer des

fonctions de modélisation prédictive■ Chez un vendeur d’outil d’analyse de données, il peut faire appel a de

multiples implémentations d’analyse prédictives■ Chez un grand compte, il peut concevoir des applicateur internes pour

améliorer la performance de l’entreprise■ Dans une communauté ‘open-source’, il peut implémenter une version

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

� Analyste métier■ Peut explorer la définition de nouvelles applications internes■ Peut demander à développer des chaînes de traitements métiers

utilisant la modélisation prédictive

� Étudiant■ Connaissance des standards du marché et de leurs fournisseurs

KXEN-Confidential 8

JCP (Java Community Process)

� Normalise et contractualise comment la communautéinternationale Java fait évoluer le monde Java

� JSR (Java Specification Request): C’est un projet de spécification■ Peut être initiée par n’importe quel développeur Java■ Doit suivre un processus détaillé

� Phases: initiation, early draft, public draft, maintenance

� Regroupe des experts du domaine

� Les phases sont validées par un Executive Committee (EC)

■ Produit trois choses:� Un document de spécification (Public Draft)

� Un logiciel RI (Reference Implementation)

� Un logiciel TCK (Technology Compatibility Kit)

KXEN-Confidential 9

Consortium

� JSR-73■ Oracle (Specification Lead)■ BEA Systems ■ Computer Associates■ Fair Isaac Corporation ■ Hyperion Solutions

Corporation■ IBM ■ KXEN■ SAP AG ■ SAS Institute, Inc.■ SPSS■ Strategic Analytics ■ Sun Microsystems, Inc.

� http://www.jcp.org/en/js

� JSR-247■ Oracle (Specification Lead)■ BEA Systems■ Computer Associates ■ Corporate Intellect Ltd.■ E.piphany, Inc.■ Fair Isaac Corporation ■ Hyperion Solutions

Corporation■ IBM■ KXEN ■ SAP AG ■ SAS Institute, Inc. ■ SPSS■ Strategic Analytics ■ Sun Microsystems, Inc.

� http://www.jcp.org/en/js KXEN-Confidential 10

Dates clefs

� JSR-73 (JDM)■ Groupe d’experts: Août 2000■ Première ‘Public Review’: Décembre 2002■ KXEN rejoint le consortium: Mars 2003 et travaille sur la ‘RI’■ Deuxième ‘Public Review’: Mars 2004■ ‘Final Release’: Août 2004■ ‘Maintenance Release’: Août 2005■ Deux implémentations connues:

� Oracle: Septembre 2005

� KXEN: Décembre 2005

� JSR-247 (JDM 2)■ Groupe d’experts: Juin 2004

KXEN-Confidential 11

Motivations/Objectifs (1)

� Supporte les utilisations novices et expertes du datamining■ La communauté utilisatrice est large (=>Java)■ Les applications peuvent utiliser l’automatisation de certains vendeurs

� Interface standard ouverte, Java, multi vendeur■ Procédure de standard (=> JCP)■ Tous les vendeurs majeurs sont représentés■ Diminue le risque d’intégration (pas de verrouillage sur un vendeur)

� Ensemble représentatif des fonctions (et algorithmes) les plus utilisés

� Extensible■ Un standard n’est jamais ‘complet’ ou ‘fini’ (=> commence avec les

fonctions de base)■ Les vendeurs doivent pouvoir offrir leurs avantages compétitifs

� Conformité des implémentations ‘a la carte’■ Notion de déclaration de capacité (=> ‘capabilities’)

KXEN-Confidential 12

Motivations/Objectifs (2)

� Représentation standard XML� Interface ‘Web Services’� Interopérabilité� Utilise les autres standards (PMML)

■ Communications avec les comites PMML, SQL-MM, CWM

� Apporter une solution aux problèmes des entreprises■ Valider par des scénarios d’utilisation et des exemples

Page 3: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

3

KXEN-Confidential 13

Résoudre les problèmes des entreprises

� Services financiers� Relation clients: propension d’achat, modèles de réponses, modèles de

durée de vie, …

� Risque: probabilité de défaut, probabilité de remboursement anticipé, …

� Télécommunications� Relation clients: propension d’achat, modèles de réponses, modèles de

durée de vie, …

� Risque: probabilité de défaut, probabilité de remboursement anticipé, …

� Grande distribution� Relation clients: propension d’achat, modèles de réponses

� Magasins: Profitabilité des magasins, achalandage, …

� Santé� Hôpitaux: remplissage des lits, durée d’intervention, …

� Sciences de la vie/Biologie� Génétique

� Tests cliniques

KXEN-Confidential 14

Processus d’analyse de données

� Les méthodologies les plus connues:■ CRISP-DM■ SEMMA■ DMAIC (phasages Six Sigma)

� Les phases que l’on retrouve:■ Préparation des données■ Création des modèles■ Validation des modèles■ Utilisation des modèles

� Les architectures des logiciels d’entreprise■ Business Intelligence: ‘Reporting’ et OLAP■ ‘Workflow’ et ordonnancement■ Bases et entrepôts de données

� Les avances de l’analyse automatisée■ Promesses et limitations

KXEN-Confidential 15

Conception/Architecture

� Et vous, si vous aviez à créer un standard Java pour faire de l’analyse de données?

� 10 minutes de créativité…

KXEN-Confidential 16

Fonctions et algorithmes

� Les fonctions du datamining peuvent être classées selon plusieurs axes:■ Supervisé/non supervisé

� Variable cible

■ Descriptif/prédictif� Synthèse d’un jeu de données versus prédiction sur de nouveaux jeux de

données

■ Transparent/opaque� Arbre de décision versus réseau de neurones

� JSR-73 (JDM1), 5 fonctions:■ Classification■ Régression■ Importance des Attributs■ Clustering■ Association

KXEN-Confidential 17

Construire un modèle

Data

Original Dataset

Sample,Transform,

PrepareData

Data’

Transformed Dataset

BuildModel Model

BuildSettings

JDM 2!!!

JDM

KXEN-Confidential 18

Appliquer un modèle

JDM

ApplyModel

Model

ApplyResult

ApplySettings

Data

NewDataset

(unknown target)

Sample,Transform,

PrepareData

Data’

Transformed Dataset

JDM 2!!!

Same Transformations

Page 4: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

4

KXEN-Confidential 19

Tester un modèle

JDM

TestModel

Model

ConfusionMatrix

Lift Result

ROC

OR RSquare

Data

NewDataset

(known target)

Sample,Transform,

PrepareData

Data’

Transformed Dataset

JDM 2!!!

Same Transformations

KXEN-Confidential 20

Classification

� Utilisation:■ Réponses à des campagnes marketing■ Segmentation client basée sur un score■ Analyse de crédit■ Guérison de patients■ …■ 90% des utilisations sont dans un cadre binaire, mais JDM n’impose rien

sur ce sujet (binary versus multi-class)� On classifie par rapport a un nombre fixé de catégories� Termes:

■ Predictor attribute■ Target attribute■ Case■ Identifier attribute

� Algorithmes■ Decision tree■ Naive Bayes■ Support Vector Machine■ Feed Forward Neural Networks

KXEN-Confidential 21

Une vue sur la classification

Predictor Attributes

X 1 X 2 ...... X m Y

TargetAttribute

Attributes

Cases

Name Income Age . . . . . . .

Response/no-respnse?1 =Yes, 0 =No

Jones

Smith

Lee

Rogers

30,000

55,000

25,000

50,000

30

67

23

44

1

1

0

0

Identifier Attribute

KXEN-Confidential 22

Régression

� Utilisation:■ Prévision financières■ Modélisation de réponses médicales■ Prix des maisons■ Valeur des clients■ Modélisation de l’environnement

� Algorithmes■ Decision tree■ Support Vector Machine■ Feed Forward Neural Networks

KXEN-Confidential 23

Une vue sur la régression

KXEN-Confidential 24

Importance des attributs

� Utilisation:■ Quels sont les attributs qui impactent le plus les prévisions?■ Quels sont les attributs qui expliquent le mieux tel cluster?■ Quels sont les attributs a ne pas prendre pour faire un modèle?

� Algorithmes:■ Pas de préconisation

Page 5: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

5

KXEN-Confidential 25

Une vue sur l’importance des Attributs

PredictorAttribute

ImportanceValue

Rank

hhsize 0.191

mstatus 0.182

promo 0.163

… ……

workcls 0.00817

KXEN-Confidential 26

Clustering

� Utilisation:■ Segmentation client■ Analyse des gènes et des protéines■ Groupement de produits (bundles)■ Taxonomies numériques■ Taxonomies de documents

� Algorithmes:■ K-Means

KXEN-Confidential 27

Une vue sur le clustering

C1

C2

AGE

INCOME

KXEN-Confidential 28

Association

� Utilisation:■ Marketing direct: analyse des transactions (le ‘panier’)■ Conception de catalogues

� Algorithmes:■ Pas de préconisation

KXEN-Confidential 29

Une vue sur l’association

Support (A → B) = P(AB)

Confidence: (A → B) = P(AB)/P(A)

Rule Length:number of items in the rule

AB → C Rule Length = 3

1 → 3 :Support = 2/4 = 50%Confidence = 2/3 = 66%

3 → 1 :Support = 2/4 = 50%Confidence = 2/2 = 100%

Transaction ID Purchased Items

1 {1, 2, 3}

2 {1, 4}

3 {1, 3}

4 {2, 5, 6}

KXEN-Confidential 30

JDM: le contenu

� Termes� Architectures

Page 6: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

6

KXEN-Confidential 31

Termes (1)

� Les concepts fondamentaux:■ Application Programming Interface (API)

� Une interface standard en Java qui donnent accès aux services d’analyse de données

■ Data Mining Engine (DME)� Un moteur qui exécute les opérations de création, d’application, de test et

d’export de modèles prédictifs et descriptifs

� Le DME peut être dans le même processus ou un autre (voire une autre machine)

KXEN-Confidential 32

Termes (2)

� Les concepts fondamentaux:■ Mining Object Repository (MOR)

� Une répertoire utilise pour stocker les objets utilises lors des processus d’analyse de données comme:

– Model

– Build Settings

– Apply Settings

– Physical Data specification

– Test Metrics

– Task

� Le MOR peut utiliser un système de fichier ou de base de données

■ Extension Web Services (JDMWS)� Permet d’attaquer le DME par SOAP

KXEN-Confidential 33

Architectures

DME

MOR

JDM API

DME

MOR

JDM API

MOR

DME

JDM API

Three tier architecture

Two tier architecture

DME

MOR

JDM API

Single tier architecture

KXEN-Confidential 34

Spécification des données: une vue

TARGETCATEGORICALSTRINGPURCHASE

>=0 & =<168ACTIVEUNPREPAREDNUMERICALWorking HoursPer Week

INTEGERH_P_W

>0ACTIVEUNPREPAREDNUMERICALCapital LossINTEGERCAP_LOSS

>0ACTIVEUNPREPAREDNUMERICALCapital GainDOUBLECAP_GAIN

AsIsACTIVEPREPAREDORDINALIncomeSTRINGINCOME

asIsACTIVEPREPAREDCATEGORICALGenderSTRINGSEX

asIsACTIVEPREPAREDCATEGORICALRaceSTRINGRACE

asIsACTIVEPREPAREDCATEGORICALRelationshipSTRINGREL

asIsACTIVEPREPAREDCATEGORICALOccupationSTRINGOCCU

asIsACTIVEPREPAREDCATEGORICALMarrital StatusSTRINGMAR_STAT

US

asIsACTIVEPREPAREDCATEGORICALEducationalQualification

STRINGEDU

10 to 150, asMissingACTIVEUNPREPAREDNUMERICALAgeINTEGERAGE

INACTIVECustomerINTEGERCUST_ID

OutlierTreatment

AttributeUsage

DataPreparation

Status

Attribute Type

LogicalAttribute

Name

AttributeData Type

PhysicalAttribute

Name

KXEN-Confidential 35

Spécification des données

� Attention:■ Les jeux de données sont ‘externes’ au monde JDM

� JDM ne manipule que des spécifications de sources de données

■ Ils n’apparaissent que comme des spécification de lieux (URI) ou chercher les données, c’est l’implémentation du DME qui sera quoi faire de cette spécification

KXEN-Confidential 36

Niveaux logique et physique

� Termes: Physical versus Logical■ Physical Attribute Name■ Attribute Data Type

� La façon dont la valeur est stockée

� INTEGER STRING DOUBLE

� Attention: Pas de date!

■ Logical Attribute Name■ Attribute Type: Attention!!!!

� Le type de la variable pour les traitements

� NUMERICAL ORDINAL CATEGORICAL

■ Preparation status� Pas de sémantique particulière

� UNPREPARED PREPARED

� Attention: rien ne force une implémentation à travailler sur des données non préparées

■ Attribute usage� INACTIVE ACTIVE TARGET SUPPLEMENTARY

� Attention pas de poids

Page 7: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

7

KXEN-Confidential 37

Deux types de jeux de données

� ‘Single case record’ � ‘Multi-record case table’

54,980

34,456

12,000

Income

Yes454567

No321345

Yes232103

ChurnerAgeId

32Age1345

34,456Income1345

NoChurner1345

45Age4567

54,980Income4567

Yes

Yes

12,000

23

Value

Churner4567

Churner2103

Income2103

Age2103

NameId

KXEN-Confidential 38

La vie des modèles

� Le DME décide comment utiliser les données d’apprentissage:■ En particulier pour les données de validation

� Les modèles peuvent devenir obsolètes si les données changent■ JDM peut être utilisé avec un Ordonnanceur

� Le DME peut décider si/comment reconstruire les modèles de façon incrémentale

� Les modèles et tous les éléments nécessaires a leur reconstruction sont stockés dans le MOR

KXEN-Confidential 39

Éléments de création liés aux fonctions

� Rien de spécifique pour:■ Regression■ Attribute Importance

� Par contre, éléments spécifiques pour:■ Classification

� Cost Matrix

� Prior probabilities

■ Clustering� Number of clusters

– (minimum and maximum number of clusters and minimum and maximum number of cases per cluster)

� Attribute comparison function– Absolute difference, delta, Gaussian similarity, equal, similarity matrix, system determined

� Aggregation function– Distance based function: Euclidian, Square Euclidian, Chebychev, City Block, Minkowski

– Similarity based function: Simple matching, Jacquard, Tanimoto, binary

■ Association� Parameters:

– Minimum support, confidence, maximum number of rules, length of antecedent and consequent, rules that contains only specified items included or excluded

� Taxonomy

KXEN-Confidential 40

Éléments de création liés aux algorithmes

� AlgorithmSettings■ Decision Trees■ Support Vector Machine■ Naïve Bayes■ Feed Forward Neural Networks■ K Means

KXEN-Confidential 41

Arbres de Décision

� Split parameters■ Maximum splits■ Maximum surrogates■ Maximum PValue

� Stopping criterions■ Maximum depth■ Minimum decrease in impurity■ Minimum node size■ Maximum target class value probability

� Tree selection method■ One standard error tree (classification only)■ Minimum variance tree■ System default/System determined

� Build/Pruning function (uses a Homogeneity metric)■ Entropy, Gini, Mean absolute deviation, mean square error,

misclassification ratio, System default/System determined

KXEN-Confidential 42

Support Vector Machine

� Deux algorithmes: régression et classification� Classification

■ Kernel cache size■ Kernel function

� K-Linear, K-Gaussian (standard deviation), Hyper tangent, Polynomial (degree), Sigmoid

■ CStrategy■ Complexity factor■ Tolerance

� Regression■ Epsilon

Page 8: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

8

KXEN-Confidential 43

Naïve Bayes

� Singleton threshold■ Not enough occurrence of a value of one attribute means to

discard the value

� Pair wise threshold■ Not enough occurrence of a conjunction of a value of one

attribute and the value of the target

KXEN-Confidential 44

Feed Forward Neural Networks

� Stopping criterions■ Maximum number of iterations or minimum error tolerance

� Learning algorithm■ Back propagation (!)

� Neural Layers■ Layer has an activation function and a bias specification■ Number of nodes per layer

KXEN-Confidential 45

K Means

� Stopping criterions■ Maximum number of iterations■ Minimum error tolerance

� Distance function

KXEN-Confidential 46

Éléments d’inspection liés aux fonctions

� Pas de contenu spécifique:■ Classification■ Regression

� Contenu spécifique pour:■ Association

� Rule: antecedent, consequent, support, confidence, lift

■ Clustering� Cluster: hierarchy (parent, children), rule, size (case count), Centroid

coordinates, attribute statistics, and support (% of cases)

■ Attribute importance:� Vector of both ranks and values

� Beware: No semantic interpretation about the values!

KXEN-Confidential 47

Éléments d’inspection liés aux algorithmes

� ModelDetails■ Decision Trees■ Support Vector Machine■ Naïve Bayes■ Feed Forward Neural Networks■ K Means

KXEN-Confidential 48

Decision Trees (1)

Root Node

Cases: 1500

Node-1Cases: 550Rule: Age < 25Purchase: 250Don’t Purchase: 300

Node-2Cases: 950Rule: Age > 25Purchase: 400Don’t Purchase: 550

Age < 25

Age > 25

Node-3Cases: 350Rule: Age > 25 Low $Purchase: 200Don’t Purchase: 350

Node-4Cases: 600Rule: Age > 25 High $Purchase: 400Don’t Purchase: 550

income is low

income is high

Node-5Cases: 350Rule: Age < 25 Low $Purchase: 50Don’t Purchase: 300

Node-6Cases: 200Rule: Age < 25 High $Purchase: 150Don’t Purchase: 50

income is low

income is high

Page 9: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

9

KXEN-Confidential 49

Decision Trees (2)

� On peut récupérer:■ Node

� Id, parent, enfants, niveau, statistiques, Target prédiction

■ Rule� Antecedent/consequent etc…

KXEN-Confidential 50

Support Vector Machine

� On peut récupérer:■ Number of bounded vectors, unbounded vectors ■ Coefficients for linear kernel■ Bias for linear kernel

KXEN-Confidential 51

Naïve Bayes

� On peut récupérer:■ Count■ Pair count■ Pair probability

KXEN-Confidential 52

Feed Forward Neural Networks

� On peut récupérer:■ Layer identifiers and neuron identifiers■ Weight from identifier to identifier

KXEN-Confidential 53

K Means

� Rien de spécifique

KXEN-Confidential 54

Évaluer les modèles de classification

50621(Type-2Error)

NotPurchase

6(Type-1error)

250Purchase

Actual

Not PurchasePurchase

Predicted

Cumulative Gains Chart

0

10

20

30

40

50

60

70

80

90

100

0 10 20 30 40 50 60 70 80 90 100

% Customers in product campaign

% R

espo

nder

s

Response Model No Model

RO C Chart

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

% False Positive

% T

rue

Pos

itive

Model A

Model B

Random

Page 10: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

10

KXEN-Confidential 55

Évaluer les modèles de régression

� Plusieurs critères:■ Mean Absolute Error■ Mean Square Error■ R-Square (R2)■ Mean Actual Value■ Mean Predicted Value

KXEN-Confidential 56

Appliquer les modèles de classification

� Source/destination attributes� Top prediction� Top or Bottom N predictions� Predictions for specific values (target categories)

� Probability/class� Cost/class� Node (decision tree)

KXEN-Confidential 57

Appliquer les modèles de régression

� Source/destination attributes� Prediction� Confidence interval

KXEN-Confidential 58

Appliquer les modèles de clustering

� Source/destination attributes� Top cluster� Top or Bottom N clusters

� Distance/cluster� Probability/cluster

KXEN-Confidential 59

Déployer les modèles

� Importation et exportation des modèles■ Échanger des modèles entre DME (du même vendeur ou non)■ Stocker les modèles ailleurs que dans le MOR■ Inspection/manipulation d’objets

� ‘Scoring engine’■ Option spécifique de DME sans apprentissage

� JDM propose le ‘real-time scoring’MOR

Solution Development

Data mining analyst

Build solution and persist

mining models

MORSolution

Deployment (Scoring Engine)

Model(s)

Temporary Mining object storageExport mining models

Import mining models

Model(s)

Import/Export mining models

directly to another MOR

KXEN-Confidential 60

Les objets persistants de JDM

Page 11: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

11

KXEN-Confidential 61

Les objets de spécifications de données

KXEN-Confidential 62

Les objets de spécifications de construction (fonction)

KXEN-Confidential 63

Les objets de spécifications de construction (algorithmes)

KXEN-Confidential 64

Les objets de spécifications d’application

KXEN-Confidential 65

Les objets modèles

KXEN-Confidential 66

Les objets de métriques de test

Page 12: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

12

KXEN-Confidential 67

Les tâches

KXEN-Confidential 68

Qui implémente JDM?

� Deux implémentations commerciales:■ Oracle: OJDM■ KXEN: KJDM

� Attention:■ Il y a un processus de certification!■ N’importe qui ne peut pas revendiquer une compatibilité sans

passer par le TCK

KXEN-Confidential 69

KJDM

� Les avantages de KJDM sur la compétition (Oracle)■ Problèmes en grande dimensions■ Préparation des données automatisée (valeur manquante, hors

domaines, segmentation et groupement automatique)

■ Modèles prédictifs ET descriptifs (extensions)■ Robustesse incluse dans les algorithmes (propriétaires)■ Facilite d’utilisation (toutes les fonctions datamining, toutes

les persistances, les statistiques)■ Implémentation Web Services

� ‘Service Oriented Architecture’ (SOA)

KXEN-Confidential 70

Client ProcessClient Process

Architecture KJDM

DME

MOR

JDM API

DME

MOR

JDM API

Note: The MOR can accessed through an ODBC connection on a remote server

Jni/C++ CORBA

KXEN-Confidential 71

Outils

KXEN-Confidential 72

Écran client PhP utilisant JDMWS

Page 13: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

13

KXEN-Confidential 73

Le futur: JDM 2

� Nouvelles fonctions■ Séries temporelles■ Détection d’anomalie■ Extraction de traits (Feature Extraction)

■ Application de l’association■ Transformations■ Texte Mining

KXEN-Confidential 74

Mais d’abord: le présent

� Il est possible aujourd’hui de créer des applications Java utilisant le datamining

� Les éditeurs de logiciel ont démarré des projets d’intégration Java■ SAP■ E-Piphany ■ …

� Le plus… le mieux, mais c’est encore en devenir

KXEN-Confidential 75

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 76

Cible

� Architecte/Intégrateur■ 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

KXEN-Confidential 77

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 78

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

� 2006■ PMML 3.2

Page 14: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

14

KXEN-Confidential 79

Motivations/Objectifs

� Complémentarité■ N’empiète pas sur le domaine des 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 80

PMML transporte des modèles issus d’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■ Composition de modèle■ Vérification de modèle

� PMML 3.2

KXEN-Confidential 81

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 82

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

KXEN-Confidential 83

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 84

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 15: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

15

KXEN-Confidential 85

Qui implémente PMML?

� 2 catégories d’outils pour le PMML■ Outils générant du PMML

� Modélisation en PMML– KXEN

– SAS

– SPSS

– FAIR ISSAC

■ Outils intégrant du PMML� Exécution et simulation de fichier PMML

– MicroStrategy

– IBM (DB2/Oracle)

– Teradata

– SPSS

– SAS

– STATISTICA

KXEN-Confidential 86

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-insta nce">

<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=“10" leftMargin=“-10" closure ="closedClosed" /></DataField>

</DataDictionary>

KXEN-Confidential 87

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=“ou tmap_KxVar1”><FieldColumnPair column=“KxVar1” field=“marital-stat us”/><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 88

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

� Définition du modèle

� Définition du footer

<RegressionModel functionName="regression" targetFi eldName="rr_Status of credit accountmodelType="stepwisePolynomialRegression" modelName= "">

<MiningSchema><MiningField usageType="predicted" name="rr_Status of credit account"/><MiningField usageType="active" name="marital-statu s" /><MiningField usageType="active" name="age"

outliers="asExtremeValues" highValue="90" lowValue= "17" /></MiningSchema><RegressionTable intercept="0.12032505337028977">

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

<NumericPredictor exponent="1" coefficient="0.28294 496376733896"name="kxen_age"/>

</RegressionTable></RegressionModel>

</PMML>

KXEN-Confidential 89

Exemple de génération(KXEN)

KXEN-Confidential 90

Exemple d’intégration(MicroStrategy)

Page 16: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

16

KXEN-Confidential 91

Le présent

� Au début:■ PMML était utilisé pour transporter des modèles depuis les

environnements de création (SAS, SPSS, KXEN) vers les bases de données

� Maintenant:■ PMML est aussi utilisé pour intégrer le ‘scoring’ dans les

environnements de ‘Business Intelligence’ (rapports)■ PMML permet l’utilisation opérationnelle des modèles et la

démocratisation du Data Mining

KXEN-Confidential 92

Les extensions SQL: in data base Data Mining

� Un seul standard ANSI: SQL-MM� Mais…

■ Une seule implémentation du standard: IBM

� Par contre…■ Tous les éditeurs de base de données ont leur extension de SQL

pour le Data Mining.

KXEN-Confidential 93

IBM Intelligent Miner

� Interface utilisateurs■ Créer, visualiser

� Extensions SQL: SQL-MM� ‘Easy Mining’

■ Procédures compactes pour la création de modèles

KXEN-Confidential 94

Exemple de code SQL pour IBM Intelligent Miner

Insert into IDMMX.ClassSettings (ID, SETTINGS) Sele ct

‘HeartSettings’,

IDMMC.DM_ClassSettings().DM_useClasDataSpec (

MiningData.DM..genDataSpec()

..DM_remDataSpecFld(‘Sex’)

..DM_setFldTpe(‘Age’, 1))

..DM__setClassTarget(‘DISEASED’)

FROM IDMMX.MiningData where ID=‘HeatData’;

Conclusion?

KXEN-Confidential 95

Oracle Data Mining (ODM)

� Intégré depuis Oracle 9i (in database mining)� Algorithmes

■ Decision tree■ Adaptive Bayes network■ K-Means■ O-Cluster (propriétaire)■ Minimum Description Length pour importance des attributs■ Support Vector Machine (deux classes et mono classe pour

détection d’anomalie)

� Une interface utilisateur dédiée� Oracle offre aussi une implémentation de JDM

■ Les données doivent être préparées.

KXEN-Confidential 96

Ecrans ODM (http://www.oracle.com/technology/products/bi

/odm/odminer.html)

Page 17: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

17

KXEN-Confidential 97

Exemple de code SQL avec Oracle

� CREATE TABLE dt_sh_sample_cost (� actual_target_value NUMBER,� predicted_target_value NUMBER,� cost NUMBER);� INSERT INTO dt_sh_sample_cost VALUES (0,0,0); INSERT INTO dt_sh_sample_cost VALUES (0,1,1);� INSERT INTO dt_sh_sample_cost VALUES (1,0,8); INSERT INTO dt_sh_sample_cost VALUES (1,1,0);� COMMIT;

� BEGIN � INSERT INTO dt_sh_sample_settings VALUES� (dbms_data_mining.algo_name, dbms_data_mining.algo_decision_tree);� INSERT INTO dt_sh_sample_settings VALUES� (dbms_data_mining.clas_cost_table_name, 'dt_sh_sample_cost');� COMMIT;

� BEGIN� DBMS_DATA_MINING.CREATE_MODEL(� model_name => 'DT_SH_Clas_sample',� mining_function => dbms_data_mining.classification,� data_table_name => 'mining_data_build_v',� case_id_column_name => 'cust_id',� target_column_name => 'affinity_card',� settings_table_name => 'dt_sh_sample_settings');� END;

� SELECT cust_id� FROM mining_data_apply_v� ORDER BY PREDICTION_COST(DT_SH_Clas_sample, 1 COST MODEL USING *) ASC, 1

KXEN-Confidential 98

Microsoft SQL Server 2005

� Microsoft SQL Server 2005■ Database Engine■ Analysis Services (analysis server est un autre serveur: pas vraiment in

database mining)� OLAP Cube� Datamining Models (+KXEN Plug-In)

■ Reporting Services■ Integration Services

� Algorithms■ Microsoft Decision Trees■ Microsoft Clustering■ Microsoft Time Series■ Microsoft Association Rules■ Microsoft Sequence Clustering■ Microsoft Naive Bayes■ Microsoft Neural Network■ Microsoft Linear Regression■ Microsoft Logistic Regression

� Des interfaces utilisateurs dédiées� Une interface Web Services XML/A

KXEN-Confidential 99

Ecran MSFT (1)

KXEN-Confidential 100

Ecran MSFT (2)

KXEN-Confidential 101

Exemple de code SQL avec Microsoft Analysis Services

� CREATE MINING MODEL MEMBER_CARD_P� {� Customer_ID long key,� Gender text discrete,� Age long continuous,� Profession text discrete,� Income long continuous,� HouseOwnertext discrete,� MemberCardtext discete predict� }� Using Microsoft_decision_trees

� INSERT INTO MEMBER_CARD_P� {Customer_ID, Gender, Age, Profession, Income, HouseOwner, MemberCard}� OPENROWSET(‘MyDB’, ‘data provider=SQLOLEDB;server=myserver;UID=mylogin;PWD=mypwd’,� ‘select Customer_ID, Gender, Age, Profession, Income, HouseOwner, MemberCard from customers’)

� Select T.Customer_ID, MEMBER_CARD_P.MemberCard� FROM MEMBER_CARD_P Prediction Join� OPENROWSET(‘MyDB’, ‘data provider=SQLOLEDB;server=myserver;UID=mylogin;PWD=mypwd’,� ‘select Customer_ID, Gender, Age, Profession, Income, HouseOwner, MemberCard from customers’) as T� On MEMBER_CARD_P.Gender = T.Gender� And MEMBER_CARD_P.Age = T.Age� …� Where T.Age > 30

KXEN-Confidential 102

Teradata Warehouse Miner

� Interface utilisateur sous Windows■ Génère du SQL spécifique pour Teradata (in-database mining)■ Manipulation de données et algorithmes

� Linear regression

� Logistic regression

� Decision tree

� Cluster analysis

� Association rules

■ PMML consumer

Page 18: 07 FDON 5bennani/tmpc/FDON/07_FDON_5.pdf · Les applications peuvent utiliser l’automatisation de certains vendeurs Interface standard ouverte, Java, multi vendeur Procédure de

18

KXEN-Confidential 103

Ecran Teradata Warehouse Miner (2)

Project Icon

Analytic Module Icon

ODBC Connection

Icon

Connection Properties Icon

Run and Stop Icons

Runtime Message Area

Data Source Status

Project Area

Analysis Set-up and Results Viewing Area

hmmm… I wonder what else might fill this large gray area some day...

Main Menus

Main Toolbar

Open, Save, and Save All Icons

KXEN-Confidential 104

In-data base Data Mining?

� Aujourd’hui:■ Le Data Mining classique (arbre de décision, réseaux de

neurones, même SVM) peut être fait depuis les bases de données

■ Le cout est très faible■ => Le marché des environnements ‘classiques’ se réduit à être

des interfaces utilisateurs

KXEN-Confidential 105

Conclusions (1)

� Les entreprises ont dépensé des milliards dans leur infrastructures opérationnelles■ Des processus métiers informatisés■ Une collecte de données sans précèdent■ Des entrepôts de données qui existent

� Aujourd’hui (hier?) le retour sur cet investissement se fait par…■ Des rapports, des cubes d’exploration des données, mais…■ Le nombre de rapports et de facteurs potentiels devient

ingérable

KXEN-Confidential 106

Conclusions (2)

� Demain, le retour sur cet investissement se fera par…■ Le Data Mining qui aide à trouver l’information pertinente

� à condition qu’il soit simple, automatique, intégré, opérationnel, explicatif

� Les standards du Data Mining (JDM, PMML) prouvent que le marché arrive a une certaine maturité■ JDM permet une compétition ouverte des fournisseurs de Data

Mining■ PMML permet une utilisation opérationnelle des modèles

(presque) immédiate

� Le challenge est dans l’automatisation des taches de data-mining■ Les entreprises créent déjà des milliers de modèles