15 KiB
15 KiB
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
- Formaliser questions business
- Collecte des données
- Construction du Data Hub
- Modélisation (et analyse) des données
- Évaluation
- Déploiement et industrialisation
É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 d’anomalie)
- 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)
- « Qu’est-ce qui attire le plus les clients : un coupon de 5 € ou une remise de 25 % ? » (classification)
É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
- s’apparente à 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
- ex: OpenWeatherMap API
- ex: Covid-19 API
- ex: SNCF API
⚠️ 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
É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
É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 d’un prix de vente d’un 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 d’apprentissage 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 s’applique 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 d’une 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
- S’adaptent 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 d’hyper 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
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
É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 ?