[JSS 2014] Data Mining Avec SSAS et Azure ML

Speaker : Patrice Harel

Titre : Data mining Avec SSAS et Azure ML

Objectif : Comparaison de Mise en place d’un process de Data Mining avec SSAS Vs Azure Machine Learning

 

Introduction :

Une introduction theorique sur le data mining

Les données utilisées pour la démo sont les données des accidents sur les routes (source : data.gouve.fr  2006-2011)

Les Données ne sont pas très volumineuses (700 000 lignes) mais avec plusieurs colonnes (attributs), l’objectif est de trouver des relations entre les attributs.

Exemple des attributs: Catégorie de route \ Luminosité \ Type d’agglomération \ Conditions atmosphériques

Data Mining :

Le premier travail du data-mineur est:

  • s’approprier le domaine métier
  • Donner du sens supplémentaire aux données ou l’information
  • Etablir une corrélation entre les attributs

Exemple : Luminosité vs condition atmosphériques: Si il y a beaucoup  de brouillard donc forcément peu de luminosité.

Ce premier travail a pour but de définir quels attributs vont contribuer dans le travail du data mining.

Les données peuvent être utilisées directement dans leur état brut. De préférence avoir des  données propres et organisées, sans pour autant les stocker dans une Base SSAS.

 

Un petit tableau de comparaison :

Data mining Machine Learning
Appliquer des algorithmes de recherche de modèles (patterns) sur d’importants volume de données Se réfère à la partie algorithme du data mining
Trouver des relations supplémentaires, faire de la prédiction, intelligible pour un humain « Désigne les ajustements dun système par lui-même dans le sens ou ce système pourra effectuer une même tâche une seconde fois mais de manière plus efficace »
Né des besoins sur les bases de données Né des besoins en intelligence artificielle

 

Les étapes de mise en place d’un modèle de datamining :

  • Se poser les bonnes questions, définir ses objectifs (si le résultat est non satisfaisant, il faut se poser la question est-ce que le résultat est mauvais ou est-ce qu’on s’est posé les mauvaises questions)
  • Définir deux types de variable :
    • les variables explicatives (condition atmosphérique)
    • Les variables à expliquer (le nombre de morts et de blessés)
  • Définir la population cible : a qui est destiné l’étude
  • Scinder la source de données en deux
    • Un échantillon de travail
    • Un échantillon de validation

Les études du Datamining mettent à notre disposition des données utiles qui complémentent celles de la BI,

 

Différence entre l’analyse descriptive et l’analyse prédictive :

Analyses descriptives : Quels sont les clients qui consomment le plus de parfums.

Analyses prédictives : Quel va être mon chiffre d’affaire l’année prochaine.
Dans notre cas d’étude « Essayer de prévoir selon les caractéristique de l’accident si oui ou non il va y avoir des morts et\ou des blessés »

 

Cycle de développement :

  • Choix du sujet, définition des objectifs
  • Inventaire des données disponibles
  • Extraire, transformer, corriger et rassembler les données (évacuer les données aberrantes, Choisir des variables ni trop corrélées ni très peu corrélées avec la variable qu’on veut expliquer)
  • Statistiques descriptives
  • Choix de l’algorithme
  • Souvent dans le datamining on crée des variables booléens, c’est plus facile à traiter
  • Validation du modèle, déploiement

 

La problématique :

Puis-je prédire, en fonction des caractéristiques d’un accident si il y aura ou non des morts/hospitalisés?

  • Création d’une nouvelle variable : EstGrave (Booléen)

 

Objets SSAS DM :

SSAS DM

Case : la table qui va contenir les caractéristiques de notre étude de cas

Nested : la table qui contient des caractéristiques complémentaires (pas indispensable)

Input : variables explicatives

Output : variables à expliquer

DEMO Datamining sous SSAS :

Les étapes de création dans SSDT :

  • Créer une solution SSAS
  • Définir une data source
  • Créer data source view
  • Créer la structure mining
  • Choisir le modèle de mining à utiliser (L’algorithme) : Arbre de décision
  • Choisir les cas & nested
  • Key : identifiant de chacune des instance de nos case
  • Input : var explicatives
  • Predict : var à expliquer
  • Définir le pourcentage de data pour l’étude, et le reste servira à la validation (30/70)
  • Observer le résultat : la courbe Lift permet de définir le niveau de prédiction du modèle (80%)

PS : Un modèle qui fait 60% est considéré comme pas mal, 75% est très bon, 90% est parfait.

 

Object Azur Machine Learning :

AML

 

DEOM AML :

Les étapes de création :

  • Créer une nouvelle expérimentation (l’interface ressemble à SSIS)
  • Importer le data set (pas de possibilité de travailler sur des externes)
  • Ajouter le composant Project column (selectionner les attributs que l’on va utiliser)
  • Ajouter le composant Split (30%, 70%)
  • Choisir le model (Algo): 2 class (boosted decision tree)
  • Choisir la variable à expliquer
  • Evaluate
  • Run
  • Résultat : 76% (algo est légèrement diffèrent par rapport à celui implémenté dans SSAS)

 

Conclusion :

Conclusion

[JSS 2014] Ma première analyse avec Machine Learning

Level : 200 Date & heure : 2 décembre 2014 – 10h30 Speaker: Florian Eiden

Titre : Ma première analyse avec Machine Learning

Objectif : Concevoir un système automatisé et intelligible qui apprendra de ses expériences

Introduction :

Rappel sur la BI dite classique, ses limites avantages et inconvénients.
Schéma du positionnement de la technologie Machine Learning par rapport à la BI traditionnelle. (Hacking skills, mathematiques, BI Analyst)

A qui est-elle destinée ?

Aux utilisateurs métiers de l’entreprise qui souhaitent avoir des éléments de réponse à une question posée.
Exemple : Quelle est le meilleur prix de vente pour mon appartement sur le marché parisien?

Quelles sont les interlocuteurs qui vont la mettre en œuvre ?

IT, Matheux, statisticiens, data scientist

Dans quel but ?

BI classique analyse l’existant et permet d’apporter des éléments de réponses basés sur des indicateurs de performance.

Machine Learning s’attaque à la prédiction des événements futurs au travers d’un algorithme mathématique qui une fois entrainé (Train model) obtient d’un échantillon (training set) une tendance sur l’avenir.

Use case :

Estimer le prix du marché d’un appartement Parisien par rapport à sa surface, son arrondissement, et le prix du m2 afin de pouvoir le vendre au meilleur prix.

Fait appel aux cours de mathématiques (fonction affine, régression linéaire, valeur discrète, continue).

L’idée étant de déterminer le prix en fonction du nombre de m2 et de la superficie, le prix d’un appartement à Paris par l’expérience (experiment). Cela se traduit par une courbe constituée par un ensemble continue de valeurs discrètes où Y étant le prix de l’appartement à vendre qui est égal à X le nombre de m2 par rapport à un coefficient à déterminer qui s’appuie sur la tendance du marché. D’où la formule y=h(x).

Les données piochées proviennent du site PaP dont les données ont été aspirées avec l’outil Kimono (firme américaine) qui permet d’obtenir des données structurées dans une table (dataset) à partir d’un navigateur web.

Démo :

Plateforme azure (dans le cloud) avec un navigateur web et un compte azure sont les seuls éléments dont vous devrez vous acquitter pour commencer à développer :

On retrouve des composants classées et rangées par catégorie tels que la source, les splits qui ne sont pas sans rappeler les éléments de la toolbox SSIS auxquels vont se greffer de nouveaux concepts/modèles (train model, score model, algorithmes, evaluate model, script, langage R).
Ces différents éléments précités s’imbriquent les uns dans les autres pour constituer un workflow relié par des flux au travers desquels les données vont transitées. Chaque élément peut être visualisé pendant son traitement et permet d’expliciter les données en apportant des éléments sur la précision, la pertinence des données traitées sur une courbe. Le speaker insiste sur l’importance d’intégrer le maximum de données concrètes pour améliorer et entrainer le modèle.

Conclusion :

Une Technologie d’avenir qui vient enrichir l’écosystème CLOUD de Microsoft et nécessite une forte propension à comprendre les concepts mathématiques.

La prise en main est rapide et ne nécessite aucune installation logicielle.
Concevoir des modèles  et bénéficier de la puissance mathématique des algorithmes (initialement développés pour XBOX et BING) en utilisant le  « Drag and Drop » des composants présents dans ML Studio.

Ces projets verront le jour en réunissant les compétences  d’un mathématicien  couplées à  celles d’un data scientist qui aura la charge d’apporter des données nettoyées en source afin de construire le workflow pertinent.

Pour aller plus loin,
Apprentissage des codes et pratiques du Data Scientist au travers d’une Formation Machine Learning  dispensée par la société coursera cursus de 10 semaines, nécessite des notions en mathématiques et statistiques. Vidéos de présentations sur le site studio.azure.ml.