mission : qualité et productivité de vos développement s.net 70 experts.net et sql server pôles...
TRANSCRIPT
Olivier BourdinWinwise - [email protected]
Data mining avec SQL Server 2005
Winwise: votre expert .NET
Mission : qualité et productivité de vos développement s .NET 70 experts .Net et SQL ServerPôles d’expertise
Génie Logiciel Visual Studio Team System Travail collaboratif Sharepoint & Office Server 2007Data management Microsoft SQL Server 2005Smart client Vista, WPF, Ajax, Applications mobilesEAI et BPMMicrosoft Biztalk 2006, Architectures SOAWinsight : No1 de la Business Intelligence MSMicrosoft Analysis Services
1er centre de formation .NET à Paris et en France depuis 2002Conseil, forfait, assistance, formation :Winwise, 16 rue Gaillon 75002 PARIS - 01 42 68 22 22 - [email protected]
Sommaire Data Mining
Exemples et domaines d’applicationPlace et perspectives dans la B.I.Principaux algorithmes d’analyse prédictiveSegmentation automatique (clustering)Autres algorithmesLangages et interfaces de programmation
Utilité du data mining ?
Principal emploi« Analyse prédictive »Utiliser l’information que l’on a pour prédire celle que l’on voudrait avoir
Exemples
Meteo !
Achètera ou pas (« score d’appétence ») ?
Remboursera ou pas (« credit scoring ») ?
+ =>
Qui utilise le data mining ?
eCRMRetailBanqueAssuranceInvest.FiFraudeTelcoSciencesBiologie/ GenPharmacie
Place du data mining dans la BI ?
Système d’information de l’entreprise
Exécution Pilotage
Applications de production
Analyse automatique
Applications décisionnelles (« BI »)
RestitutionAnalyse guidée
Reporting - OLAP Data Mining
Interactif(pour
analyse)
Statique(pour info)
Data mining et OLAP
Objectif identique : extraire de l’information utile des données existantes
l’OLAP met l’accent sur les outils de visualisation vs le data mining sur les outils de modélisation
l’OLAP donne les moyens de se faire une idée vs le data mining génère, teste et applique automatiquement les hypothèses
D’où sort le data mining ?
Domaines d’origine<= Intelligence artificielle<= Statistiques<= Bases de données
KDD : Knowledge Discovery in Databases=> Générer et valider automatiquement de
nouvelles hypothèses à partir de données existantes
=> Transformer les données enfouies dans ses bases de données en information utile
Compliqué ou pas ?
SQL Server 2005
OLAP
Reports (Adhoc)
Reports (static)
Data Mining
Simple Complicated
Usability
Rel
ativ
e b
usi
ne
ss v
alu
e
Modèle entraîné
Structure & paramètre du modèle
Mining Process
DM EngineDM Engine
Echantillon d‘apprentissage
Données à prédire(à scorer)Modèle entraîné
With predictions
Exemple : site « réseau social »
Exemple: MesCorrespondances.fr
De l’information…
Exemple: MesCorrespondances.fr
Tous types d’informations !
Exemple: MesCorrespondances.fr
Des questions auxquelles je souhaite répondre….
Quelles combinaisons de caractéristiques distinguent les utilisateurs prêts à payer ?Qu’est-ce qui permet de deviner les utilisateurs qui seront populaires ?Les casse-pieds ? Les tricheurs ?Pour un utilisateur donné..quels utilisateurs s’entendront le mieux avec lui?
Exemple: MesCorrespondances.fr
La question pour notre démo : « Adam ou Eve » ?
Microsoft Decision Trees“Homme ou femme” avec un arbre de décision
Démo
Adam ou Eve ?
Où sont les femmes ?
Microsoft Neural Network“Homme ou femme ?”avec un réseau de neurones
Démo
Réseaux de neurones
Combien de couches cachées ?Combien de neurones par couche ?
-0.5
-0.42
+0.6
0.33
-0.9+0.8
Aime les cartes routières
Aime la danse
Aime l’équitation
Femme
Homme
+0.4
0.33
Microsoft Naive Bayes“Homme ou femme”avec un réseau bayésien naïf
Démo
Réseaux bayésiens
Théorème de Bayes
Probabilité de l’hypothèse h sachant e
h = hypothèse e = « evidence » en anglais Raisonnement inversé
au lieu de calculer la probabilité d’observer l’évènement e en tenant pour admise l’hypothèse h... (d’après mon hypothèse...il devrait se passer ceci)
...on calcule la probabilité que l’hypothèse soit juste, connaissant la probabilité de l’évènement observé
(si si !)
Réseaux bayésiens
e
hx1
x2
x4
x3
x5
x6
x7
Ce que l’on vient de voir Un réseau bayésien
La probabilité d’observer l’état e dépend de mon hypothèse hETMa croyance dans l’hypothèse h est plus ou moins confortée par l’observation de eMa croyance en h conditionne ma croyance en e et réciproquement
p(h |e) ?
p(e |h) ?
C’est un réseau de croyance,dont chacune est influencéepar les autres (aussi bien en amont qu’en aval)
Microsoft Naïve Bayes Viewer
Variables/Valeurs discriminantes
Où sont les femmes ?
Homme ou femme ?Calculer le R.O.I. d’une analyse prédictive
Démo
Retour sur investissement
Microsoft ClusteringSegmentation automatique
Démo
« Cluster Discrimination »
Exemple de segmentation
CSP+
Masculin
études
supérie
ures
non lecteurs
Culture
opéra, baroquevoile, lecture
hip-hop/rap
gendarmes-douaniers
jeunes
foot
mode
Cluster et détection d’anomalies
Autre utilisationDétecter les questionnaires remplis au hasard
Microsoft Association Algorithm
Un algorithme simple adapté aux volumes élevésDeux indicateurs pour apprécier une associationA => B
Niveau de confianceNombre d’occurrences de (A ET B) divisé par le nombre d’occurrences total de BMesure la force d’une associationNiveau de supportNombre d’occurrence et A ET B divisé par le nombre total de « transactions » considérées
Sequence Clustering Analysis
Times Series Analysis
Corrélation et auto corrélationDemande des tendances biens établies !
“Putting Data Mining to Work”
“Doing Data
Mining”Business Understandi
ng
Data Understandi
ng
Data Preparation
Modeling
Evaluation
Deployment
Data
Data Mining ProcessCRISP-DM
www.crisp-dm.org
Un environnement complet
Pour utiliser le data mining dans SQL 2005Le SGBD lui-même (facultatif) : stockage des donnéesIntegration Services (facultatif) : ETL, préparation des données, text miningAnalysis Services : paramétrage des modèles et exécution des analysesReporting Services (facultatif) :publication et mise en forme du résultat des analyses
Outils de développement SQL 2005Business Intelligence Dev. Studio, SQL Server Management Studio
Langages, API, librairies d’accès clientes, protocole DMX ? ADOMD.NET ? XMLA ?
using Microsoft.AnalysisServices.AdomdClient; AdomdConnection conn = new AdomdConnection();conn.ConnectionString = "Data Source=localhost; Initial Catalog=MyCatalog";conn.Open();
foreach (MiningModel model in conn.MiningModels){
Console.WriteLine(model.Name);} foreach (MiningContentNode node in model.Content){
foreach( MiningContentNode in node.Children ){...}
}
Data Mining avec ADOMD.Net
ADOMD.Net et DMX
Dim cmd as ADOMD.CommandDim reader as ADOMD.DataReaderCmd.Connection = connSet reader = Cmd.ExecuteReader(“Select Predict(AdamOuEve)…”)
Piloter le data mining
DMX Data Mining eXtensions for SQLDeux types de directive
Data definition statementsCREATE/DROP MINING MODELEXPORT, etc.…
Data manipulation statementsSELECT FROM <model>SELECT FROM <model>.CONTENT...
Data Mining avec DMX
Data MiningManagement System
(DMMS)
Mining Model
Définir un modèleCREATE MINING MODEL ….
Entrainer un modèleINSERT INTO dmm ….
Training Data
Prédire avec un modèleSELECT …FROM dmm PREDICTION JOIN …Prediction Input Data
DMX SELECT Elements
SELECT <columns>FROM <model> PREDICTION JOIN <table>ON <mapping>[WHERE <filter>][ORDER BY <sort expression>]
Générer une requête DMX
Démo
...
...
Le langage DMX
XMLA
Analysis Server
Stored Procedure
Adomd Server
Ap
plic
atio
n
ADOMD
ADOMD .NET
AMO IIS
TCP
HTTP
XMLA
OLEDB
Option zero footprint : depuis une application Ajax si vous le souhaitez !
Résumé Data Mining SQL2005
Simplicité d’utilisation extrêmeRetour sur investissement simple à évaluer (et souvent important !)Accède aux données quel que soit la source et le formatLangages et API usuels (VB,C#,SQL,ADO...)Interrogeable et configurable intégralement par web services via XMLA
© 2007 Microsoft France
Votre potentiel, notre passion TM