0% ont trouvé ce document utile (0 vote)
12 vues40 pages

Introduction à la science des données

La science des données est l'application de techniques informatiques et statistiques pour résoudre des problèmes réels, en se concentrant sur le traitement, l'analyse et la mise à l'échelle des données. Elle implique des étapes telles que la collecte de données, le choix des modèles, le prétraitement et l'évaluation des performances. Le document aborde également des exemples concrets et les défis liés à l'équité et à la complexité des modèles.

Transféré par

Olivier Beaudry-Ogden
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
12 vues40 pages

Introduction à la science des données

La science des données est l'application de techniques informatiques et statistiques pour résoudre des problèmes réels, en se concentrant sur le traitement, l'analyse et la mise à l'échelle des données. Elle implique des étapes telles que la collecte de données, le choix des modèles, le prétraitement et l'évaluation des performances. Le document aborde également des exemples concrets et les défis liés à l'équité et à la complexité des modèles.

Transféré par

Olivier Beaudry-Ogden
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Science des données

[Link]
Vincent Taboga
(Basé sur les cours de prof. Gauthier Gidel et Glen Berseth)

1
[Link]@[Link]
1. Qu’est-ce que la
science des données?

2
Ce n’est pas de l’apprentissage machine!

La théorie de l'apprentissage c'est La science des données, c'est


comme la physique théorique comme l'ingénierie

3
Ce n’est pas de l’apprentissage machine!

La science des données, c'est l’aspect pratique / empirique de


l’apprentissage machine:

● Comment répondre à des questions à partir des données?


○ Comment traiter des données?
○ Comment entraîner efficacement nos modèles?
○ Comment mettre à l’échelle nos systèmes?

4
Une définition possible de la science des données

"La science des données est l'application de techniques


informatiques et statistiques pour résoudre ou mieux
comprendre un problème dans le monde réel"

Source : cours de Zico Kolter sur la science des données

5
Comment extraire des informations utiles des données ?
1. Commencer par trouver des données
● Quelles données sont disponibles?
● Qualité des données?
● A-t-on besoin de plus? A-t-on besoin de traitement?

2. Analyser les données


● Quelle algorithme / modèle utiliser?
● Comment savoir si le modèle fonctionne?
● Comment l’améliorer?

3. Mettre à l’échelle le système (MLOps)


● Comment utiliser les ressources disponibles?
● Comment distribuer les calculs?
● Comment créer des expériences reproductibles?
● Comment partager son code?

6
La science des données c’est

Source : [Link]

7
2. Exemple concret

8
Exemple: Problème de commande d'un repas

Vous travaillez pour une célèbre entreprise de livraison de nourriture

Question: Quel repas devriez vous proposer à un utilisateur se connectant sur le site?

9
Exemple: Problème de commande d'un repas

Quelle nourriture devrions-nous suggérer?

- Données:
- Mouvement de la souris
- Historique de recherches
- Analyse:
- Que doit-on prévoir ?
- Comment entraîner un modèle pour le prédire ?
- Comment savons-nous que le modèle fonctionne ?
- Échelle:
- Nous avons 10 000 personnes qui utilisent le site/heure
- Quel matériel devons-nous utiliser ?
- Comment pouvons-nous faciliter l'exécution de ce code dans le cloud ?

10
Les données - Que faut-il utiliser ?

Vous voulez prédire ce que les utilisateurs vont commander.

● Mouvement de la souris (x)


- Séquence de points en 2d
- [123,34], [124,34], [124, 33], …
- Plus des clics à des moments précis
- [r, 1.2s], [l, 2.3s], …
- Est-ce assez?

● Rétroaction (y)
- Résultat de la sélection des aliments

● Est-ce assez?
- Ajouter l'heure de la journée, etc.

11
Analyse des données
former un modèle, quel type de modèle
● De quel type est l'entrée ? (X)
- Séquence de points en 2d
- [123,34], [124,34], [124, 33], …
- Plus des clics à des moments précis
- [r, 1.2s], [l, 2.3s], …

● Rétroaction (y)
- La sortie y est un type d'aliment.
- Résultat de la sélection des aliments
- Prédiction multi-classes

● Problèmes possibles
- Classification, régression
- Clustering, réduction de la dimensionnalité

-> Quelle formulation choisir?

12
Analyse: choix du modèle
Quelle modèle de classification?

● Machine à vecteurs de support (SVM)?


○ La théorie est cool
○ Difficile à appliquer en grande dimension

● Régression linéaire?
○ Simple à appliquer
○ Est-ce que le choix du repas dépend linéairement du mouvement de la souris?
-> Malheureusement non

● Réseaux de Neurones?
○ Peuvent être long et difficile à entraîner
○ Dur d’interpréter les résultats

13
Prétraitement et augmentation des données
Comment pouvons-nous préparer les données pour faciliter le travail des modèles

- Prétraitement :
- Données pas bonnes ⇒ prédictions pas
bonnes
- Traiter les données pour éliminer les ordures
- Augmentation:
- Mise à l'échelle des données
- Construire d’autres entrées
- etc..

14
Ingénierie des caractéristiques :
sélectionner de meilleures caractéristiques
Toutes les caractéristiques ne sont pas égales, utilisez les meilleures

- Qu'est-ce qu'une caractéristique:


- X = [123,34], [124,34], [124, 33]
- Peut-être que les 10 dernières valeurs de X
fonctionnent le mieux

- Sélection:
- Réduire la taille d'entrée
- Corrélation avec la sortie y

15
Analyse du modèle
Le modèle s'adapte-t-il bien aux données ?

● Sous-entraînement: Le modèle n’explique pas


assez les données

- Exemple: Les modèles linéaires ont peu


d'expressivité

● Sur-entraînement: Le modèle explique trop les


données

- Le modèle a appris des cas particuliers


- Ces cas particuliers ne font pas partie de la
vraie distribution.

16
Analyse du modèle
Le modèle s'adapte-t-il bien aux données ?

● Comment savoir si l'entraînement est bon: Validation


- Laissez de côté certaines données enregistrées pour
les tests
- Validation croisée

● Comment obtenir un meilleur ajustement


- Prendre un modèle expressif et régulariser
- Rasoir d'Occam : le modèle le plus simple qui
explique les données est le meilleur.

17
Complexité du modèle et comment la mesurer

● Arbres de décision
- profondeur de l'arbre

● Forêts aléatoires
- nombres d'arbres
- profondeurs des arbres.

● Réseaux profonds
- Nombre de paramètres
- Nombre de couches

18
Entraînement du modèle
Comment tirer les meilleures performances?
-> Le modèle est-il suffisamment performant ?

On peut souvent améliorer les performances en:

• Prétraiter les données


• Comment diviser les données pour le test/la validation
• Avons-nous suffisamment de données à diviser ?

• Réglage du modèle :
• Tous les modèles ont des hyper paramètres
• Nombre d'arbres, grappes, paramètres
• Essayez différentes valeurs de ces

19
Présentation des résultats
Visualisation des données
Comment montrer à nous-mêmes et aux autres que le modèle fonctionne

- Exploration:
- Y a-t-il d'autres tendances dans les données ?
- Comment les trouver ?
- Présentation:
- La meilleure façon d'afficher l'exploration ?
- Vous voulez une visualisation compacte avec
peu de bruit
- Visualisations avancées :
- Visualisation multimodale
- Visualisations interactives
- Les pièges de la visualisation

20
Test d'hypothèse : Ayez confiance en votre modèle
Dans quelle mesure sommes-nous confiants dans nos résultats ?

● Tests d'hypothèses
- Test statistique de vraisemblance

● Méthodes
- Simulation directe
- mélanger
- Amorçage
- Validation croisée

21
Virtualisation avec Docker : code portable et
reproductible

● Déployer le code sur les serveurs de l'entreprise


- Comment rendre cela facile ?
● Machines virtuelles (VM) :
- Simulez un tout nouveau système
d'exploitation sur
un système existant
- Copiez cette configuration sur plusieurs
ordinateurs
● Docker:
- Un écosystème de VM légères
- Facile à partager avec d'autres et à déployer
● Utile pour la recherche d'hyper-paramètres
- Reproduire votre code sur plusieurs
ordinateurs

22
Mise à l'échelle : suivi des expériences
Lorsque vous travaillez à grande échelle, vous devez vous organiser à grande échelle

- Qu'est-ce que la mise à l'échelle :


- Vos expériences sont dans le cloud
- Vos données sont dans le cloud
- Vous devez analyser les résultats

- Suivi des expériences :


- Vérifier les expériences pendant leur
exécution
- Effectuer une exploration et une analyse
supplémentaires
- Reproduire une expérience ?

23
Matériel nécessaire, apprentissage distribué

• Quel matériel devrions-nous acheter pour exécuter notre


algorithme ?
• Faut justifier ça au patron

• Matériel:
• Traitement d'image?
• Combien de requêtes/minute ?
• Pouvons-nous optimiser pour économiser.
• Distribuer:
• Quel ordinateur cloud utiliser ?
• Dépend des hypothèses du modèle

24
Biais algorithmique

- Comment savons-nous que les prévisions sont


justes ?
- Les données sont-elles vraiment équitables ?
- Biais:
- Les données sont collectées par des personnes
- Certains groupes apparaissent plus souvent
dans les données
- Les personnes avec plus de $$$ utilisent
plus souvent le système de commande en ligne
- Équité:
- Comprendre les effets de ces problèmes
- Rendez votre modèle et vos données plus
équitables
- Éviter d'amplifier les biais historiques

25
Données d'images : Changement de représentation ?

● Quelle est la meilleure façon de traiter les


données ?
- Comme texte/image/graphique ?
● Conversion de données :
- Le traitement d'image est puissant
- Convertir des données en images.
- [123,34], [124,34], [124, 33] -> image
● Autres représentations :
- Beaucoup de choses peuvent être
converties en images
- Les images occupent de l'espace sur le
disque
- Compromis entre le temps de traitement et
l'espace disque

26
Données de texte

• Particularités du texte
• Tâches standards
• prétraitement
• difficultées:
• ambiguïté syntaxique
• importance du contexte

• Modèles probabilistes
• NGrams
• Techniques de plongement lexical
• SVD (Décomposition en valeurs
singulières)
• Word2Vec

27
Données de Graphes

● Particularité des graphes


• Tâches standard
• représentation
• matrice d'adjacence, Laplacien

● Techniques de plongement de noeuds


• par similarité de noeuds
• marche aléatoires

28
La science des données nécessite des compétences
diverses

29
Retour à ce qu'est la science des données

Ce n’est pas un processus linéaire!

Source : [Link]

30
Data science is NOT the new oil

Contrairement au pétrole, il est dur de savoir ce que


faire exactement de chaque jeu de données pour en
tirer profit.

31
Les données c’est comme du dessert!

● Les données sont générées


par les humains

● Les données proviennent de


plein de domaines
différents

● Les données varient même


au sein d’un même domaine

32
Logistique

33
Étape 1: Le site web du cours
Informations utiles / syllabus : Site du cours

● Vérifiez les pré-requis


● Horaire du cours
● Notes sur l’IA générative (attention!)

34
Étape 2: Piazza [Lien]

● Toutes les communications sont faites sur Piazza: notes de cours, devoirs
● Questions et discussions (aucune question par mail)

● Pas de Studium
○ Soyez sur d’avoir accès à Piazza
○ Vérifiez régulièrement le contenu sur Piazza

35
Étape 3: (IFT 6758)

Répondez à ce sondage cette semaine pour composer les groupes du projet de session:

[Lien du sondage]

36
Évaluations

IFT 6758A IFT 3700A


● Devoirs de programmation (20%) ● Devoirs de programmation (35%)
● Un intra (20%) ● Un intra (30%)
● Un Final (25%) ● Un Final (35%)
● Un projet de session (35%)

Nous utiliserons Gradescope pour la remise des devoirs.

37
Le projet de session

Cassons la glace!
38
Le projet final:
Analyse des données de la LNH
● API pour collecter les données
● Visualiser les données
● Application de modèles de ML

Le challenge: des données réelles!

Le but: construire un pipeline prêt


pour une mise en production

39
Ressources utiles
Livres : apprentissage statistique, manuel Python, introduction à la science des données

Cours en ligne : freeCodeCamp , Harvard CS109

Examen de la science des données de Harvard

40

Vous aimerez peut-être aussi