Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Certificat Big Data – Apprentissage TP5 – Méthodologie du traitement de données Olivier Schwander 1 / 16 Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Résumé Différentes tâches I Classification I Régression I Détection d’évènements I Segmentation I Recherche d’information Démarche générale 1. Données : chargement, étude, filtrage 2. Méthodes : choix, compréhension, paramètres 3. Évaluation : score, temps, mémoire, interprétation 2 / 16 Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Données Première étape 1. Charger les données 2. Étudier les données 3. Filtrer, nettoyer, choisir les données 3 / 16 Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Méthodes Énormément de méthodes disponibles un peu partout, de la plus simple à la plus complexe. Rasoir d’Ockam I Ne pas rajouter de complexité inutile Paramètres I Choix délicat mais indispensable 4 / 16 Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Évaluation Dépend de la tâche à accomplir Différentes mesures I Précision I Faux positifs, vrais positifs Ne pas oublier I Temps, mémoire I Autres contraintes 5 / 16 Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Données : chargement Formats faciles : directement des matrics I Texte brut : numpy.loadtxt I Format numpy : numpy.load I Format Matlab : scipy.io.loadmat I Comma Separated Values : pandas.read_csv Formats standards : à transformer en matrices I XML I JSON : json.load Formats baroques I Format spécifique à un jeu de données I Utiliser la documentation fournie 6 / 16 Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Données : études Calculer des valeurs I Moyennes, médianes, min, max, fréquences Tracer des figures I Histogrammes, courbes Objectifs I Repérer des valeurs aberrantes, des erreurs manifestes I Voir si toutes les données sont utiles I Tester des modèles très simples (utilisant une seule colonne par exemple) 7 / 16 Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Données : valeurs manquantes Données manquantes I Not a Number : NaN I Codes d’erreur : -1, -9999 Supprimer ce qui gène : I une colonne entière ? une ligne ? I Attention à ne pas supprimer tout le contenu de la base ! Compléter les données : I des 0 I la valeur moyenne, la médiane I une valeur proposée par un expert 8 / 16 Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Données : features engineering Travail sur les données originales I Transformations non-linéaires : exp, log, somme, produit I Sur une seule colonne ou entre plusieurs I Remplacer des valeurs continues par des valeurs discrètes : histogramme, quantification, clustering I Transformer des catégories en nombres Exemple : prédiction de la valeur d’une maison I Données : longueur et largeur de la maison I Nouvelle feature : X = longueur · largeur I Modèles linéaire : prix = αX + β 9 / 16 Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Méthodes : réflexion prélimnaire En pratique I Ne pas oublier les méthodes les plus simples ! I Ne pas trop subir les effets de mode I Réfléchir aux contraintes de la méthode : mémoire, temps, quantité de données I Comprendre les méthodes (pas forcément tous les détails, mais avoir une idée de ce qu’on calcule) 10 / 16 Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Méthodes : éviter le sur-apprentissage Source : Ludovic Denoyer, cours FDMS 11 / 16 Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Méthodes : bibliothèques Quelques exemples en Python I Machine learning : sklearn I Modèles statistiques : Statsmodels I Image et vision : skimage Comprendre I Quel modèle calcule-t-on ? I Quelle grandeur optimise-t-on ? 12 / 16 Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Méthodes : paramètres Simplicité I Rasoir d’Ockam I Limiter le nombre de paramètres Ajustement manuel I Score I Autres contraintes Validation croisée I Méthode automatique I Découpage de l’ensemble d’apprentissage : une partie pour apprendre, une partie pour évaluer les paramètres 13 / 16 Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Évaluation : score Précision I Nombre de bonnes réponses Précision, rappel I Précision : nombre de documents pertinents parmi les documents retournés I Rappel : nombre de documents pertinents retournés sur le nombre total de documents pertinents I precision·rappel Score F1 : 2 precision+rappel Vrais positifs, faux positifs 14 / 16 Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Évaluation : autres coûts Phase d’apprentissage et phase de prédiction Classique I Temps de calcul I Mémoire utilisée Et aussi I Consommation électrique (smartphone, datacenter) I Bande passante utilisée (réseau mobile) Compromis I There is no free lunch 15 / 16 Introduction Chargement et étude des données Choix des modèles et apprentissage Évaluation et analyse des résultats Évaluation : interprétation Que peut-on expliquer à un expert ? I Qualité des données I Utilité des différentes informations I Explication des données 16 / 16