contrib--caracol-community/slides/02-etapes-projet.md
2020-04-15 14:05:27 +02:00

15 KiB
Raw Blame History

Gestion de projets data

Étapes d'un projet data

Glenn Y. Rolland glenux@glenux.net


Vue d'ensemble

Plusieurs méthodes spécifiques mais peu de maturité

  • Méthode CRISP (anciennement CRISP-DM)
    • développée par IBM dans les années 60
    • pour des projets de DataMining
    • s'applique efficacement à la data-science
  • Egalement des façons de faire plus récentes (trop?)
  • Certains points fluctuent selon les méthodes

Vue d'ensemble

Méthode CRISP

  1. Formaliser questions business
  2. Collecte des données
  3. Construction du Data Hub
  4. Modélisation (et analyse) des données
  5. Évaluation
  6. Déploiement et industrialisation

bg right

Étape 1 -
Formaliser les questions business


Étape 1 - Formaliser les questions business

Objectifs

  • Périmétrer le projet
    • quels services ?
    • quels enjeux opérationnels ?
    • quels référentiels et réglementations à respecter ?
    • quel environnement ?
  • Formaliser
    • les objectifs
    • les lignes rouges à ne pas franchir

Étape 1 - Formaliser les questions business

Comment ? (1/2)

  • Définir les problématiques à résoudre parmi cinq types de questions :
    • Quelle quantité ? (régression)
    • Est-ce A ou B (ou C, D, E... ) ? (classification)
    • Comment les données sont-elles organisées? (clustering)
    • Est-ce étrange ? (détection danomalie)
    • Que devons-nous faire ensuite ? (apprentissage par renforcement)

Étape 1 - Formaliser les questions business

Comment ? (2/2)

  • Identifier les variables à prédire
    • Prévisions de ventes (régression)
    • Profil client (clustering)
    • « Quest-ce qui attire le plus les clients : un coupon de 5 € ou une remise de 25 % ? » (classification)

bg right

Étape 2 -
Collecte des données


Étape 2 - Collecte des données

Objectif

  • Identifier les données utiles
  • Rendre leur accès possible
    • Les données sont rarement au même endroit
    • Identifier les sources où obtenir ces données
    • Savoir y accéder

 

⚠️ La collecte de données est consommatrice de temps et dénergie


Étape 2 - Collecte des données

Cas idéal : bases de données existantes

  • Une partie des données sont regroupée dans une ou plusieurs bases de données (BDD) :
    • Il faut trouver les BDD dans son entreprise (ou chez les fournisseurs)
    • Les BDD sont accessibles, documentées et les données structurées (ex: data warehouse, BDD relationnelle).
    • Il faut récupérer des données peu structurées via des requêtes (requêtes SQL, etc.)

Étape 2 - Collecte des données

Cas fréquent : pas de base de données

  • Il faut extraire les données depuis d'autre supports
    • Reconnaissance de texte automatisée (Optical Character Recognition ou OCR)
    • Recopie depuis des formulaires papier (data entry)
    • Extraction de données depuis des sites web (web scraping)
    • Extraction de données depuis des services web (API REST, XML RPC)

Étape 2 - Collecte des données

Cas du web scraping (1/2)

  • Il s'agit d'écrire un programme pour
    • télécharger une page d'un site web
    • la découper pour extraire les données,
    • les structurer et l'exporter au format souhaité
  • Méthode rarement utilisables en production
    • sapparente à voler des données sur un site…
    • … sauf autorisation explicite contraire !

Étape 2 - Collecte des données

Cas du web scraping (2/2)

  • Méthode chronophage et difficile :
    • À faire au cas, car tous les sites sont différents 😢
    • Certaines parties des sites sont dynamiques 😱
    • Les sites web évoluent et leur structure peut changer du jour au lendemain 😭

Étape 2 - Collecte des données

Cas des API (Application Programming Interface)

  • Fournies par des tiers (organisations, développeurs, etc.)
  • Implémentées par les développeurs dans un programme sur mesure
  • Permettent d'effectuer des actions sur un système extérieur

⚠️ Le nombre d'accès peut être limité dans le temps (ex: 100 connexions / heure)

📘 Le site Programme Web référence les API publiques depuis 2005


Étape 3 -
Construction du
Data Hub

bg right


Étape 3 - Construction du Data Hub

Objectifs

  • Nettoyer les données
  • Mettre en forme les données
  • Rendre utilisable par les algorithmes qui seront choisis

Enjeux

  • Éviter des erreurs dans les hypothèses
  • Limiter les biais dans les modèles prédictifs

Étape 3 - Construction du Data Hub

Contraintes

  • Phase la plus chronophage du projet
    • 50 à 80% du temps
  • Volumétrie des données (To, Po et +)
  • Aller-retours en data scientists et les équipes métiers
  • Des formats de données différents à convertir
    • CSV, JSON, XML, SQL, etc.

Étape 3 - Construction du Data Hub

Risque : données erronées

  • Erreurs de saisie
  • Incompatibilités entre la source de données et la base

Risque : données incomplètes

  • ex: Les utilisateurs ne renseignent que les champs obligatoires
  • ex: Les utilisateurs ne renseignent que ceux qui les concernent dans leur activité (les autres données passent à la trappe)

Étape 3 - Construction du Data Hub

Risque : données non normées

  • Plusieurs utilisateurs renseignent une donnée identique sous des formats différents
  • ex: un individu de sexe masculin sera renseigné M., Mr ou Monsieur

⇒ Conséquence : impossible de comparer les données


Étape 3 - Construction du Data Hub

Risque : les doublons

  • Un donnée se retrouve plusieurs fois dans la base
    • Laquelle est la plus à jour ?
    • Laquelle est la source ?
    • Comment fusionner les données ?

⇒ Conséquence : sur-représentation d'une information


Étape 3 - Construction du Data Hub

Risque : les données obsolètes

  • ex: Une entreprise a fermé, a déménagé
  • ex: Un client s'est inscrit il y a 10 ans, mais n'a jamais utilisé le site depuis
  • ex: Mme X a remplacé Mr Y

⇒ Conséquence : la qualité et la pertinence de la base se détériore


Étape 3 - Construction du Data Hub

Outils

  • Pandas (Python)
  • Dplyr/Data.table (R)
  • SQL

Étape 4 - Modélisation et analyse des données

bg right


Étape 4 - Modélisation et analyse des données

Formulation des hypothèses - Objectifs

  • Établir des liens de corrélation entre les données
  • Croiser les différentes natures de données
  • Dégager des tendances

Exemple : estimation dun prix de vente dun bien immobilier

  • jeu de données : localisation, superficie, rendement locatif, age et qualité de la construction, équipements
  • hypothèses: relation entre prix de vente (m$^2$) et localisation

Étape 4 - Modélisation et analyse des données

Formulation des hypothèses - Outils

  • Graphiques
    • Diagrammes de dispersion
    • Courbes de distributions
    • Histogrammes
  • Power BI
  • Qlickview
  • Jupyter Notebooks

Étape 4 - Modélisation et analyse des données

Formulation des hypothèses - Contraintes

  • Se fait en itérations avec l'étape de nettoyage
  • En fouillant les hypothèses on trouve des incohérences et vice versa

Étape 4 - Modélisation et analyse des données

Déterminations des variables synthétiques

  • Sélection des variables pertinentes (Feature selection)
    • Sélectionner les variables qui expliquent/ impactent le problème à résoudre
    • Retirer du jeu de données les variables à faibles intérêts sont
  • Modèle simple
    • Intuitif et compréhensible
    • Réduction de la phase dapprentissage des modèles
    • Réduction de la dimensionnalité
  • Modèle complexe
    • Analyse fine et précise de la problématique donnée

Étape 4 - Modélisation et analyse des données

Déterminations des variables synthétiques

  • Transformation des variables (Feature construction)
    • créer de nouvelles variables à partir des variables brutes du jeu de données
    • Cette méthode sapplique très souvent aux variables continues (le nombre de possibilités est infini)
    • lorsque les experts métiers préconisent que le problème à prédire dépend dune valeur seuil

Exemple : pour une variable "age"

  • le data scientist pourrait fixer un seuil à 18 ans et ainsi créer deux nouvelles variables ("majeur" ou "mineur")

Étape 4 - Modélisation et analyse des données

Construction du modèle

  • Cette étape correspond à la phase de machine learning à proprement parler
    • Choisir les différents modèles de machine learning
    • Permettre de modéliser au mieux la variable cible à expliquer (problématique métier)

Étape 4 - Modélisation et analyse des données

Modèle GLM (linéaire généralisé)

  • Logit en classification + régression linéaire
    • Simple
    • Interprétable
    • Souvent de bons proxys dans des cas simples

Étape 4 - Modélisation et analyse des données

Modèle Random Forest et Boosted Trees (xgboost, lightgbm)

  • Non paramétriques
  • Sadaptent très bien aux données « spontanément »
  • Des performances nettement meilleures que les modèles GLM dans la grande majorité des cas
  • Plus difficiles à calibrer (tuning dhyper paramètres)
    • Moins stables dans le temps et moins interprétables
    • Peut représenter un frein à leur mise en production

Étape 4 - Modélisation et analyse des données

Modèle Deep Learning

  • Spécifiquement adaptés lorsque les données sont du texte ou des images
  • Performent bien mieux que les méthodes citées précédemment

Étape 4 - Modélisation et analyse des données

Autres modèles ?

  • De nombreux autres modèles existent (SVM, Naïve Bayes)
  • Parfois plus performants dans des cas spécifiques
  • Assez peu utilisés

Étape 4 - Modélisation et analyse des données

Validation du modèle ?

  • Diviser le jeu de données retraité en plusieurs parties
    • 70% pour la conception + 30% pour le test
    • 50% pour la conception + 30% pour le test + 20% pour la validation
  • La division se fait aléatoirement
  • Attention à ce que les différentes "classes" de données soient équitablement réparties

Étape 4 - Modélisation et analyse des données

Présentation & communication

  • Restituer ses travaux de manière claire, pédagogue et dynamique
  • Tirer rapidement des informations
    • Représentations graphiques pertinentes et dynamiques (vs des données statistiques chiffrées)

5. Évaluation

bg right


5. Évaluation

Enjeux

  • Vérifier que l'analyse répond bien aux questions posées
    • Robustesse ?
    • Précision
  • Évaluer le retour sur investissement de la démarche data
  • Décide du déploiement du modèle ou de son amélioration

Étape 6 -
Déploiement et industrialisation

bg right


Étape 6 - Déploiement et industrialisation

Objectifs

  • Mise en production
    • Génération d'un rapport
    • Mise en place d'une application
  • L'intégrer au processus de décision

Étape 6 - Déploiement et industrialisation

De nouvelles questions

  • Comment mettre à jour un modèle apprenant ?
  • Comment vérifier son bon fonctionnement ?

Merci pour votre attention !