English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

invité
1 / ?
retour aux leçons

Qu'est-ce que la Data Science ?

La data science n'est pas seulement du machine learning. Elle n'est pas seulement des statistiques. Elle n'est pas seulement de la programmation.

La data science est la discipline qui consiste à extraire des connaissances utiles à partir de données. La majeure partie de ce travail n'est pas glamour : il s'agit de nettoyer des feuilles de calculs messagères, de poser les questions appropriées et de communiquer les résultats aux personnes qui ne s'intéressent pas à votre code.

Data Science Pipeline

Le pipeline typique de la data science ressemble à ceci :

1. Collect: rassembler des données brutes à partir de bases de données, d'APIs, de fichiers CSV ou du web scraping

2. Clean: gérer les valeurs manquantes, corriger les types, supprimer les doublons

3. Explore: visualiser les distributions, trouver des patterns, poser des questions

4. Engineer: créer de nouvelles caractéristiques qui aidern les modèles à apprendre

5. Model: entraîner des algorithmes, évaluer la performance, itérer

6. Communicate: présenter les résultats aux parties prenantes qui font les décisions

Si vous avez déjà utilisé des tableaux croisés dynamiques, du formatage conditionnel ou des VLOOKUP dans Excel, vous avez déjà effectué les étapes 1-3. Cette leçon fait le pont entre cette expérience et le workflow basé sur Python utilisé dans l'industrie.

Warm-Up

Votre expérience avec les données

Tout le monde a déjà travaillé avec des données sous une forme ou une autre : un tableur budgétaire, un suivi de notes, une application de fitness, ou même une playlist avec des compteurs de lectures.

Décrivez un moment où vous avez travaillé avec des données dans un tableur ou une application. Que cherchiez-vous à comprendre, et les données vous ont-elles apporté la réponse ?

Garbage In, Garbage Out

Pourquoi le nettoyage est important

Les data scientists consacrent 60 à 80 % de leur temps au nettoyage des données. Ce n'est pas une exagération : c'est un résultat constant dans les enquêtes sectorielles.

La raison est simple : garbage in, garbage out. Si vos données contiennent des erreurs, des valeurs missing ou des formats inconsistants, chaque analyse construite sur ces données sera erronée. Un modèle parfait entraîné sur des données sales produit des réponses fausses mais confiantes.


Problèmes courants de données

- Valeurs manquantes : les cellules sont vides. Les données n'ont-elles pas été collectées, ou la valeur est-elle en réalité zéro ? Ces deux situations sont différentes et nécessitent des traitements différents.

- Types de données erronés : une colonne de nombres stockée en texte, des dates en formats inconsistants (01/02/2024 : s'agit-il du 2 janvier ou du 1er février ?)

- Valeurs aberrantes : une colonne de salaires contient une entrée de 1 000 000 000 $. Est-ce un vrai cas, ou une faute de frappe ? Quoi qu'il en soit, cela va skewer vos moyennes.

- Doublons : le même enregistrement apparaît deux fois parce que deux systèmes ont fusionné de manière imparfaite

- Encodage catégoriel : une colonne contient 'Yes', 'yes', 'Y', 'TRUE' et '1'. Tout cela signifie la même chose, mais votre ordinateur ne le sait pas.


Dans pandas (la bibliothèque standard Python pour les données), vous gérez ces problèmes avec des méthodes comme dropna(), fillna(), astype() et drop_duplicates(). Mais la partie difficile n'est pas le code : c'est de décider ce qu'il faut faire avec chaque problème.

Problèmes de données courants

Décisions de nettoyage

Décider quoi faire

Voici un scénario réel. Vous avez un jeu de données de 10 000 enregistrements clients. La colonne 'age' contient 500 valeurs manquantes.

Vos options :

- Supprimer les lignes : supprimer les 500 enregistrements. Simple, mais vous perdez 5 % de vos données. Si ces 500 clients partagent un trait commun (peut-être qu'ils ont omis le champ âge parce qu'ils sont soucieux de leur vie privée), la suppression introduit un biais.

- Remplir avec la moyenne : remplacer les blancs par l'âge moyen. Rapide, mais cela réduit artificiellement la variance de la colonne âge.

- Remplir avec la médiane : mieux que la moyenne si la distribution de l'âge est asymétrique (quelques clients très vieux ou très jeunes qui beeinflussen la moyenne).

- Utiliser un indicateur : créer une nouvelle colonne appelée 'age_missing' (1 ou 0) et remplir l'original par la médiane. Maintenant, votre modèle peut la

There is no universal right answer. The choice depends on why the data is missing & what you plan to do with it.

You have a dataset of employee salaries. 200 out of 5,000 records have missing salary values. You notice that most of the missing values are from executives. Would you drop those rows, fill with the mean, or do something else? Explain your reasoning.

Poser les bonnes questions

Analyse exploratoire des données (EDA)

Avant de construire un modèle, vous devez comprendre vos données. L'EDA est le processus de résumé, de visualisation et d'interrogation d'un jeu de données pour trouver des modèles, des anomalies et des relations.


Outils clés

- Histogrammes : montrent la distribution d'une seule variable. Est-ce une forme en cloche ? Asymétrique ? Bimodale (deux pics) ? Un histogramme des revenus est toujours asymétrique à droite, car quelques personnes gagnent beaucoup plus que la majorité.

- Nuages de points : montrent la relation entre deux variables. Les personnes plus grandes ont-elles tendance à peser davantage ? Plus de temps d'étude est-il lié à des meilleures notes ? La tendance (ou son absence) indique si une relation existe.

- Corrélation : un nombre entre -1 et +1 qui mesure l'association linéaire. +1 signifie une relation parfaite etإيجابية, -1 signifie une relation parfaite et négative, 0 signifie aucune relation linéaire. Mais la corrélation ne signifie pas la causalité : les ventes de glaces et les morts par noyade sont corrélées parce que toutes deux augmentent en été.

- Statistiques descriptives : moyenne, médiane, écart-type, min, max. En pandas : df.describe() donne toutes les statistiques en une seule ligne.


La compétence réelle

Les outils sont faciles à apprendre. La partie difficile est de poser les bonnes questions. Mauvaise question : 'Que dit la donnée ?' Bonne question : 'Les clients qui contactent le support dans la première semaine ont-ils des taux de rétention plus élevés ?'

Outils EDA

Piège de corrélation

Corrélation vs. Causalité

C'est le concept le plus important en littératie des données. Deux variables peuvent être fortement corrélées sans que l'une ne cause l'autre.

Exemples classiques :

- Les villes avec plus de pompiers ont plus d'incendies. (Les grandes villes ont les deux.)

- Les élèves qui prennent le petit-déjeuner ont de meilleures notes. (Peut-être que les familles plus aisées sont plus susceptibles de fournir le petit-déjeuner ET un soutien académique.)

- Les pays qui consomment plus de chocolat remportent plus de prix Nobel. (Les deux sont corrélés à la richesse nationale.)

Le facteur caché s'appelle une variable confondante : une troisième variable qui influence à la fois celles que vous observez.

Correlation vs. Causation

Une entreprise constate que les employés qui utilisent la salle de sport de l'entreprise ont 30 % de jours de maladie en moins. Le PDG veut rendre obligatoire l'utilisation de la salle de sport pour tous les employés. Qu'y a-t-il de problématique dans ce raisonnement ? Quelles variables confondantes pourraient expliquer cette corrélation ?

Création de variables utiles

Qu'est-ce que l'ingénierie des caractéristiques ?

Une caractéristique est une variable d'entrée qu'un modèle utilise pour faire des prédictions. L'ingénierie des caractéristiques est l'art de créer de nouvelles caractéristiques à partir de données brutes afin d'aider les modèles à apprendre des modèles qu'ils ne pourraient pas voir autrement.

Les données brutes prennent rarement la forme dont les modèles ont besoin. Considérons un jeu de données avec une colonne « date de naissance ». Un modèle ne peut pas faire grand-chose avec des dates brutes。但如果你从它创建一个「âge」特征,模型就可以学习基于年龄的模式。


Techniques courantes

- Normalisation : mise à l'échelle des nombres sur une plage commune (0 à 1, ou moyenne=0 et écart-type=1). Sans cela, une caractéristique mesurée en milliers (salaire) dominera une caractéristique mesurée en unités simples (années d'expérience).

- Encodage one-hot : conversion des variables catégorielles en colonnes binaires. Une colonne 'couleur' avec les valeurs [rouge, bleu, vert] devient trois colonnes : 'couleur_rouge', 'couleur_bleu', 'couleur_vert', chacune avec 0 ou 1.

- Binning : transformation d'une variable continue en catégories. L'âge 0-17 devient 'mineur', 18-64 devient 'adulte', 65+ devient 'senior'. Cela aide lorsque la relation n'est pas linéaire.

- Caractéristiques d'interaction : multiplication de deux caractéristiques ensemble. 'Superficie en pieds carrés multipliée par le nombre de salles de bain' pourrait prédire le prix de la maison mieux que chacune seule.

- Connaissances du domaine : la technique la plus puissante. Un médecin qui crée des caractéristiques pour un modèle médical sait quelles valeurs de laboratoire sont importantes. Un spécialiste du marketing sait que 'jours depuis le dernier achat'比 'date d'achat' est plus utile. Aucun algorithme ne peut remplacer cela.

Techniques d'ingénierie des caractéristiques

Pratique des caractéristiques

Application de l'ingénierie des caractéristiques

Imaginez que vous construisez un modèle pour prédire quels clients vont annuler leur abonnement de streaming le mois prochain. Vos données brutes incluent :

- Date de création du compte

- Date de dernière connexion

- Nombre d'émissions regardées le mois dernier

- Montant du paiement mensuel

- Tickets de support client ouverts

- Pays

À partir des données brutes listées ci-dessus, proposez au moins trois nouvelles caractéristiques que vous allez créer. Pour chacune, expliquez ce que elle capture et pourquoi elle pourrait aider à prédire les annulations.

Fraction d'entraînement/test

Pourquoi diviser vos données

La règle la plus importante en modélisation : ne jamais évaluer un modèle sur les mêmes données sur lesquelles vous l'avez entraîné.

Si vous le faites, le modèle peut simplement mémoriser les réponses. Il obtiendra un score parfait sur les données d'entraînement mais échouera sur de nouvelles données, non vues. Cela s'appelle le surapprentissage (overfitting) : le modèle a appris le bruit présent dans votre jeu de données spécifique au lieu des vrais schémas.

La pratique standard est de diviser vos données :

- Jeu d'entraînement (généralement 70-80 %) : le modèle apprend à partir de ce jeu

- Jeu de test (généralement 20-30 %) : mis de côté, utilisé uniquement pour évaluer le modèle final

Dans scikit-learn : X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)


Algorithmes courants

- Régression linéaire : trace la droite de régression optimale à travers les données. Simple, interprétable, fonctionne lorsque la relation est approximativement linéaire. Prédit un nombre (prix, température, score).

- Arbres de décision : un organigramme de questions oui/non. Facile à comprendre et à expliquer. Sujet au surapprentissage sauf si élagué ou limité en profondeur.

- Forêts aléatoires : un ensemble d'arbres de décision qui votent ensemble. Plus précis qu'un seul arbre, moins sujet au surapprentissage, mais plus difficile à expliquer.


Surapprentissage vs. Sous-apprentissage

- Surapprentissage : le modèle est trop complexe. Il mémorise les données d'entraînement,包括 le bruit. Précision élevée sur les données d'entraînement,低 précision sur les données de test.

- Sous-apprentissage : le modèle est trop simple. Il ne capture pas les schémas réels. Précision faible sur les données d'entraînement et de test.

L'objectif est le juste milieu entre les deux.

Train/Test Split and Bias-Variance Tradeoff

Métriques d'évaluation

Comment savoir si votre modèle est bon ?

La précision seule peut être trompeuse. Si 95 % des e-mails ne sont pas du spam, un modèle qui dit toujours « pas de spam » est précis à 95 %, mais complètement inutile.

Métriques clés :

- Accuracy : pourcentage de prédictions correctes. Utile lorsque les classes sont équilibrées.

- Precision : parmi toutes les choses que le modèle a identifiées comme positives, combien l'étaient réellement ? Une précision élevée signifie peu de fausses alarmes.

- Recall : parmi tous les cas positifs réels, combien le modèle a-t-il détectés ? Un rappel élevé signifie peu de cas manqués.

- F1 score : la moyenne harmonique de la précision et du rappel. Utile lorsque vous devez équilibrer les deux.

- RMSE (Root Mean Squared Error) : pour la régression (prédiction de nombres). À quel point les prédictions sont-elles éloignées en moyenne ?

La métrique la plus importante dépend du problème. Pour la détection du cancer, le rappel est plus important : vous ne voulez pas manquer un cas. Pour le filtrage des spams, la précision est plus importante : vous ne voulez pas supprimer un vrai e-mail.

Métriques d'évaluation et matrice de confusion

Vous construisez un modèle pour détecter les transactions frauduleuses par carte de crédit. Seulement 0,1 % des transactions sont réellement frauduleuses. Si votre modèle prédit chaque transaction comme légitime, quelle est sa précision ? Pourquoi la précision est-elle une mauvaise métrique ici, et quelle métrique utiliseriez-vous à la place ?

Analyste de données vs. Data Scientist vs. Ingénieur ML

Trois rôles distincts

Le domaine des données comporte trois parcours professionnels principaux, et ils exigent des compétences différentes.


Analyste de données

- Focus : répondre à des questions métier avec des données existantes

- Outils : SQL, Excel, Tableau, Python ou R de base

- Au quotidien : tableaux de bord, rapports, analyse de tests A/B, présentations aux parties prenantes

- Parcours d'entrée : souvent le plus accessible. De nombreux analystes commencent sans diplôme en informatique.


Data Scientist

- Focus : construire des modèles prédictifs et découvrir des modèles dans des données complexes

- Outils : Python (pandas, scikit-learn, matplotlib), statistiques, SQL, carnets Jupyter

- Au quotidien : EDA, ingénierie des caractéristiques, construction de modèles, expérimentation

- Parcours d'entrée : généralement nécessite une formation en statistiques ou en domaine quantitatif. Les bootcamps et l'auto-apprentissage sont des options viables.


Ingénieur en apprentissage automatique

- Focus : déploiement et mise à l'échelle des modèles dans les systèmes de production

- Outils : Python, TensorFlow/PyTorch, Docker, plateformes cloud (AWS/GCP), APIs

- Au quotidien : optimisation des modèles, infrastructure de pipelines, surveillance des modèles en production

- Parcours d'entrée : généralement nécessite de solides compétences en génie logiciel combinées à des connaissances en apprentissage automatique.


Créer un Portfolio

Les responsables du recrutement se soucient de ce que vous pouvez faire, et non seulement de ce que vous avez étudié. Un portfolio de 3-5 projets solides sur GitHub compte plus que des certifications. Les bons projets utilisent de vrais (et non des jeux de données factices) jeux de données, incluent une documentation claire, et montrent le pipeline complet : de données brutes à des insights exploitables.

Data Career Paths

Vos Prochaines Étapes

Où Aller à Partir d’Ici

Les outils du métier sont gratuits et accessibles :

- pandas : la bibliothèque Python standard pour la manipulation de données

- matplotlib / seaborn: bibliothèques de visualisation

- scikit-learn: l'outil principal pour le machine learning classique

- Jupyter notebooks: environnements de codage interactifs où vous pouvez mélanger code, résultats et notes

- Kaggle: jeux de données gratuits, compétitions et une communauté de praticiens

Commencez par un jeu de données réel qui vous intéresse. Téléchargez-le, nettoyez-le, explorez-le et essayez de y répondre à une question. Ce seul projet vous enseignera plus que n'importe quel cours.

D'après ce que vous avez appris dans cette leçon, quel rôle parmi les trois (data analyst, data scientist ou ML engineer) vous intéresse le plus ? Quelle est une étape concrete que vous pourriez prendre cette semaine pour commencer à développer des compétences pour ce rôle ?