M INEURE
« D ATA S CIENCE »
Frédéric Pennerath
frederic.pennerath@centralesupelec.fr
Objectifs et modalité du cours
« Théorie et pratique en science des données »
Un volet « théorique » :
• Cours sur le 1er créneau horaire en A007
• Applications du cours de machine learning
• Traitement des données au sens large (stockage, manipulation, visualisation, etc)
• Un peu d’algorithmique (fouille de données, traitement de flux)
Un volet « pratique » :
• TP sur le 2ème créneau horaire en A305-306
– Participation à un challenge de challengedata.ens.fr
• Utilisation d’outils variés pour traiter des données :
– Pour les manipuler, les transformer, etc : Python, Numpy, Panda – Pour les stocker, y accéder : SQL (SQLite), NoSQL (MongoDB)
– Pour les exploiter, les analyser : Machine Learning (Scikit-Learn, Weka), Big Data (Spark), visualisation
Une évaluation sur les deux volets :
• Soit présentation des résultats au challenge (méthode, résolution, analyse, etc)
• Soit analyse, évaluation (tests) et synthèse d’un article scientifique
• Dans les 2 cas : exposé de 45 min + rapport
Esquisse de contenu (non contractuel…)
Semaine Partie cours Partie pratique
1 Introduction.
Présentation de Panda / Scikit-Learn
Challenge ENS (choix libre) (Panda, Scikit-Learn)
2 Recherche d’information sur le Web 3 Systèmes de recommandation
4 Extraction de thèmes (topic modelling) et clustering de documents
5 Analyse de réseaux BE analyse de réseaux
6 Technique d’échantillonnage BE sur l’échantillonnage
7 Map/Reduce et Big Data BE Spark
8 Fouille de données. Analyse de flux de données. Exposés
9 Exposés Exposés
SCIENCE DES DONNÉES
DATA MINING, DATA SCIENCE, BIG DATA, …
Introduction
Etre productif :
• Recherche d’information sur le Web (Just google it!) Vendre :
• Comprendre les besoins de ses clients :
– Système de recommandation en ligne (Amazon, etc) – Ciblage publicitaire (Criteo, etc)
– Analyse du panier de la ménagère
• Veiller à sa réputation et à sa visibilité (webmarketing)
– Usage du Web (Google Analytics, Search Engine Optimization, etc) – Forums, blogs et logiciels de e-réputation
– Réseaux sociaux et marketing viral
Aider à la prise de décision :
• Anticiper les besoins et les dérives :
– Contrôle des dépenses (santé, etc) et des recettes (fisc, etc) – Prévention des risques (santé, pollution, criminalité)
– Scoring de clients (assurance)
• Détecter les anomalies dans des flux de données :
– Détection de transactions frauduleuses – Lutte contre les trafics et le terrorisme
Créer une nouvelle « économie des données »
– Fournisseurs de données ouvertes : www.data.gouv.fr
– Entreprises de collecte et de synthèse de données : www.data-publica.com
– Entreprises de conseil en Data Science et plateformes de mise en relation (kaggle.com)
– Entreprises informatiques (éditeurs de logiciel de e-reputation, plateforme de ciblage publicitaire www.criteo.com, etc) – Last but not least : collecteurs de données (Google, Facebook, LinkedIn, Airbnb, etc)
Les enjeux socio-économiques des données
Des enjeux éthiques / juridiques
• Respect de la vie privée
• Surveillance des citoyens
• Droits liés aux données (CNIL, etc)
• En biologie :
– Expressions de gènes (transcriptome, relation gène / protéines) – Paléontologie et évolutions
• En médecine :
– Pharmacovigilance
• En chimie :
– Prédiction de la toxicité des molécules, mécanismes réactionnels
• En physique :
– Astronomie : répertoire des corps célestes
– Expériences en physique des particules (LHC au CERN)
• En sciences environnementales :
– Comprendre les milieux naturels, l’impact de l’homme, etc
• En sciences sociales :
– Analyse d’opinions sur le Web
– Analyse des recherches sur le Web : Google Trends
Les enjeux scientifiques des données
et le data mining
Les enjeux informatiques des données : le Big Data et les 3V (Volume, Velocity, Variety)
Volume : de plus en plus de données
–
Disque dur 3.5 pouces en To (10
12octets)
–
Volume total de 3 zettaoctets (3 ⋅ 10
21octets = 10
9disques dur)
–Plusieurs milliard de pages Web
Velocity : de moins en moins de temps pour les traiter
–
Data centers. Ex Google : 1M serveurs, 10 Pflops (10
16flops), 1000 Gbit/s, 600 MW d’électricité consommée
–
Production de données ininterrompue : discussions, capteurs, videos, etc (3 ⋅ 10
11emails / j, Google: 20 Po / j (10
15o/j), Facebook : 30 Po / j)
Variety : des données de plus en plus diverses
–
Bases de données relationnelles (SGBDR) : SI des entreprises
–Données semi-structurées (XML, NoSQL)
–
Textes : Web, textes numérisés (OCR), etc.
–
Des données multimédia : images, sons, films…
–
Des données topologiques : Web, réseaux sociaux, réseaux bio…
–
Des données géographiques, spatio-temporelles, : GIS (Google Map, etc), GPS, … Mais en pratique les 2
ersV ne concernent pas grand monde…
The 10 V’s by G. Firican 1. Volume
2. Velocity 3. Variety 4. Variability 5. Veracity 6. Validity
7. Vulnerability 8. Volatility 9. Visualization 10. Value
The 11 V by F. Pennerath
11. Vacuity
Les origines scientifiques de la science des données
Intelligence Artificielle (AI)
Extraction des connaissances à partir de données
Bases de données
Fouille de données
(Data Mining)
Systèmes informatiques -70s
80s
90s
Apprentissage
« symbolique » Représentation des connaissances
00s
Analyse de données
(multidimensionnalité)
Statistiques
Data Science(s) Apprentissage « numérique »
Modèles neuronaux
10s Deep Big Data
Networks
La hiérarchie de la connaissance en IA
• Niveau du raisonnement: inférence logique, probabiliste, …
• Ex : si le canal est gelé, la température était négative
• Ex : si le canal est gelé, la température est probablement négative
Connaissances
• Niveau sémantique: interprétation
• Ex : G=oui, T= -5 signifie que le canal est gelé et que la température est de -5 °C
• En informatique : modèles sémantiques d’un langage
Informations
• Niveau syntaxique
• Ex : G=oui, T=-5
• En informatique : syntaxe d’un langage
Données
L’extractio n de co nnaiss anc es
L’aide à la décision et
les bases de données décisionnelles (data warehouse)
• Prédiction des évolutions de la demande
• Nouveaux services à valeur ajoutée, etc
Fouille de données
• Visualisation interactive (datacube OLAP)
Exploration de données
• Intégration de données hétérogènes
• Consolidation, reporting
Entrepôts de données
• Bases de données (SGBDR)
Systèmes d’information
• Données des ventes, des achats, des salaires, etc
Données
Aide à la déci sio n
Le processus d’extraction de connaissances
(KDD: Knowledge Discovery from Data)
4. Prétraitement des données
5. Fouille des données Données
formatées 2. Récupération
(data wrangling/munging)
Expert du domaine d’application
3. Sélection des données
6. Post-traitement des résultats
7. Visualisation des résultats 1. Question
ouverte vis-à-vis des données
8. Interprétation des résultats Données
brutes
EXEMPLES DE TYPES DE DONNÉES ET
DES PROBLÈMES ASSOCIÉS
Les données structurées
des systèmes d’information (SGBDR, NoSQL)
Réf. Client Article Quantité Remise Date
1 1 1 4 0 % 15/3/10
2 2 2 400 20 % 15/3/10
…
Réf. Nom Cordage Catégorie Stock Prix achat Prix vente
1 Raquette Master 300
false exp 40 400. 800.
2 Raquette First Smash
true deb 2000 30. 60.
…
Réf. Nom
1 Roland Garros Boutique
2 Heptathlon
…
Transactions
Articles
Client
Exemples de problèmes
Prédire :
– Régression.
estimer le chiffre d’affaire d’un nouveau magasin – Classification supervisée.
estimer la probabilité qu’un client pratique un sport donné à partir de l’historique de ses achats
Comprendre :
– Classification non supervisée (clustering)
identifier des familles de fournisseurs et de clients pour faire un mailing ciblé – Trouver des associations
trouver des associations entre articles achetés pour faire une promotion efficace
Suggérer :
– Système de recommandation
proposer sur les sites d’achat en ligne des articles aux clients à partir de leurs profils
Optimiser :
– Trouver des motifs optimaux
trouver des promotions d’articles combinés dont l’espérance de gain est maximale.
Fouille de textes et de données semi-structurées
Exemples de problèmes
Rechercher :
– Les textes associés à une liste de mots clés
Caractériser :
– La langue d’un article, … – Détection de spam
– Désambiguïser les entités nommées (ex : Henri et Raymond Poincaré) – Qualifier un texte de positif ou négatif (sentiment analysis, opinion mining)
Regrouper / organiser
– Associer automatiquement des mots clés d’un thésaurus à un texte
– Extraire les thématiques d’un corpus de textes (clustering, analyse sémantique latente) – Regrouper, indexer une collection de textes par sujets
Transformer
– Traduire un texte (Google Translate) – Résumer un texte
Données de type graphe :
les réseau du Web et les réseaux sociaux
Visualisation de 100000 pages de Wikipedia (source : Tulip/INRIA)
Utilisateurs de Twitter faisant référence à #occupiedwallstreet (source: Marc Smith/Wikimedia) Visualisation de 30% du
Web en 2005 (source : Wikipedia)
Données de type graphe : les réseaux biologiques
Réseaux d’interaction entre gènes, protéines, métabolites, etc (images : Biomine & Cytoscape)
Données de type graphe : données chimiques
Base de données de molécules et réactions chimiques (image : antiviraux contre le SIDA NCI & Marvin)
Exemples de problèmes
Analyse topologique de réseaux
Crawling du Web
Analyse de la diffusion d’information dans les réseaux sociaux Identification des nœuds névralgiques (ex. PageRank, HITS)
Classification / régression de nœuds ou arêtes
Classification de nœuds de confiance dans un réseau (TrustRank) Estimation du risque d’une pathologie chez un patient
Classification / régression sur des graphes ou sous-graphes
Extraction de chemins d’expression entre gènes et pathologies
Estimation de grandeurs physico-chimiques des molécules (QSAR/QSPR) Classification des molécules (toxicité, cancérogénicité)
Assistance à la synthèse de molécules : prédiction d’un plan de synthèse
Clustering
Clustering de communautés dans un réseau social Regroupement de gènes
Regroupement de molécules ou de réactions par familles
Exemple d’application : aide à la synthèse
conf = 100 % fréq = 18/7400
Motif
Proposition d’articles
Recherche d’information / Fouille de textes et extractions de thèmes : 1. Accelerating Innovation Through Analogy Mining (KDD 17)
2. Ranking Relevance in Yahoo Search (KDD 16)
3. Reducing the Sampling Complexity of Topic Models (KDD 14)
4. Understanding the Limiting Factors of Topic Modeling via Posterior Contraction Analysis (ICML 14) 5. Distributed Representations of Words and Phrases and their Compositionality (NIPS 13)
6. Document Summarization Based on Data Reconstruction (AAAI 12) 7. Dynamic Topic Models (ICML 06)
8. Maximizing the Spread of Influence through a Social Network (KDD 03) 9. Document clustering based on non-negative matrix factorization SIGIR 03) 10. Stuff I've seen: a system for personal information retrieval and re-use (SIGIR 03)
11. Beyond independent relevance: methods and evaluation metrics for subtopic retrieval(SIGIR 03) 12. Scaling personalized web search (WWW 03)
13. Optimizing Search Engines using Clickthrough Data (KDD 02) 14. Latent Dirichlet Allocation (NIPS 01)
Systèmes de recommendation et e-commerce :
1. FRAUDAR: Bounding Graph Fraud in the Face of Camouflage (KDD 16) 2. Optimisation d’enchères (KDD 12)
3. Accelerated Singular Value Thresholding for Matrix Completion (KDD 12) 4. Towards a theory model for product search (WWW 11)
5. Factorizing personalized Markov chains for next-basket recommendation (WWW 10) 6. Collaborative Filtering with Temporal Dynamics (KDD 09)
7. Predictive discrete latent factor models for large scale dyadic data (KDD 07)
8. Show me the money!: deriving the pricing power of product features by mining consumer reviews (KDD 04) 9. Methods and metrics for cold-start recommendations (SIGIR 02)
Proposition d’articles
Réseaux sociaux :
1. node2vec: Scalable Feature Learning for Networks (KDD 16) 2. Compact and Scalable Graph Neighborhood Sketching (KDD 16) 3. Efficient Algorithms for Public-Private Social Networks (KDD 15) 4. Efficient SimRank Computation via Linearization (KDD 14)
5. Scalable Influence Estimation in Continuous-Time Diffusion Networks (NIPS 13) 6. Learning to Discover Social Circles in Ego Networks (NIPS 12)
7. Graphs over Time: Densification Laws, Shrinking Diameters and Possible Explanations (KDD 05)
8. Realistic, Mathematically Tractable Graph Generation and Evolution, Using Kronecker Multiplication. (PKDD 05) Fouille de données, fouille de flux, Big Data, données spatiales et temporelles
1. Ranking Causal Anomalies via Temporal and Dynamical Analysis on Vanishing Correlations (KDD 16) 2. City-Scale Map Creation and Updating using GPS Collections (KDD 16)
3. Taxi Driving Behavior Analysis in Latent Vehicle-to-Vehicle Networks: A Social Influence Perspective (KDD 16) 4. Compressed Linear Algebra for Large-Scale Machine Learning (VLDB 15)
5. DBSCAN Revisited: Mis-Claim, Un-Fixability, and Approximation (SIGMOD 15)
6. Asymmetric LSH (ALSH) for Sublinear Time Maximum Inner Product Search (MIPS) (NIPS 14) 7. A space efficient streaming algorithm for triangle counting using the birthday paradox (KDD 13) 8. Searching and Mining Trillions of Time Series Subsequences under Dynamic Time Warping (KDD 12)
9. Dense Subgraph Maintenance under Streaming Edge Weight Updates for Real-time Story Identification (VLDB 12) 10. Connecting the Dots Between News Articles (KDD 10)
11. Finding Frequent Items in Data Streams (VLDB 08) 12. Training Linear SVMs in Linear Time (KDD 06)
13. Robust and fast similarity search for moving object trajectories (SIGMOD 05) 14. Mining High-Speed Data Streams (KDD 00)
15. A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise (KDD 96) 16. BIRCH: an efficient data clustering method for very large databases (SIGMOD 96)