Deuxième module du challenge #100JoursDeML — et probablement le plus important. L'erreur classique des débutants est de foncer vers les modèles sans ces bases : on applique alors des algorithmes sans comprendre ce qu'ils racontent, et on s'effondre au premier entretien technique. Chaque leçon est détaillée ci-dessous avec sa vidéo.
📥 La checklist offerte du challenge
Recevez le PDF avec les 100 leçons à cocher et suivez votre progression jour après jour.
Leçon 1 — Les concepts de base en 3 minutes
Tout commence par le vocabulaire. La population est l'ensemble complet des individus qu'on étudie (tous les clients d'une banque) ; l'échantillon en est le sous-ensemble réellement observé (les 10 000 clients du fichier). Une variable est une caractéristique mesurée sur chaque individu (l'âge, le revenu), une observation est la ligne de données correspondant à un individu.
Distinction essentielle : la statistique descriptive résume les données observées, la statistique inférentielle généralise de l'échantillon vers la population — avec une marge d'incertitude qu'il faut savoir quantifier.
Leçon 2 — Les types de variables : la boussole de l'analyste
Les variables se classent en deux grandes familles. Les variables quantitatives sont numériques : continues quand elles peuvent prendre toute valeur d'un intervalle (salaire, taille), discrètes quand elles se comptent (nombre d'enfants). Les variables qualitatives (ou catégorielles) décrivent des catégories : nominales sans ordre naturel (couleur, pays), ordinales avec un ordre (niveau de satisfaction : faible, moyen, élevé).
Cette classification n'est pas académique : c'est elle qui détermine quels graphiques, quels tests statistiques et quels encodages s'appliquent. Se tromper de type, c'est se tromper de méthode tout au long du projet.
Leçon 3 — Tendance centrale et dispersion en Python
La tendance centrale résume où se situent les données : la moyenne (somme divisée par l'effectif), la médiane (valeur qui coupe la distribution en deux moitiés égales) et le mode (valeur la plus fréquente). La dispersion mesure leur étalement : la variance (moyenne des carrés des écarts à la moyenne), l'écart-type (sa racine carrée, exprimée dans l'unité d'origine) et l'écart interquartile (la fourchette qui contient la moitié centrale des données).
La leçon calcule tous ces indicateurs en Python et montre comment les interpréter ensemble.
df["salaire"].mean() # moyenne
df["salaire"].median() # médiane — comparez-la à la moyenne !
df["salaire"].std() # écart-type
df["salaire"].describe() # tout le résumé en une commande
💡 À retenir : la moyenne seule ment souvent — elle est sensible aux valeurs extrêmes. Un milliardaire dans la pièce fait exploser le « salaire moyen », pas le salaire médian. C'est la dispersion qui raconte la vraie histoire.
Leçon 4 — Les lois de probabilité pour le machine learning
Une loi de probabilité décrit comment se distribuent les valeurs possibles d'un phénomène aléatoire. La plus célèbre est la loi normale (ou gaussienne, la « courbe en cloche ») : symétrique, entièrement définie par sa moyenne et son écart-type, avec la fameuse règle des 68-95-99,7 % (la part des observations à 1, 2 et 3 écarts-types de la moyenne). Vous croiserez aussi la loi binomiale (nombre de succès dans des essais répétés — utile pour les taux de conversion) et la loi de Poisson (comptage d'événements rares — pannes, sinistres).
Pourquoi c'est crucial en machine learning : beaucoup de modèles font des hypothèses de distribution, et les probabilités sont le langage dans lequel un modèle exprime son incertitude.
Leçon 5 — Vérifier la normalité d'une variable
Avant d'appliquer une méthode qui suppose la normalité, il faut la vérifier. Trois outils complémentaires : l'histogramme (la forme en cloche se voit), le QQ-plot (les quantiles observés contre les quantiles théoriques — si les points suivent la diagonale, la variable est proche du normal) et le test de Shapiro-Wilk (un test statistique dont l'hypothèse nulle est la normalité : une p-value faible la rejette).
La leçon montre les trois approches en Python et — surtout — comment conclure sans sur-interpréter un test sur un grand échantillon.
from scipy import stats
stat, p_value = stats.shapiro(df["salaire"])
print(f"p-value : {p_value:.4f}")
# p-value < 0.05 → on rejette la normalité
Leçon 6 — Les statistiques bivariées : relier deux variables
L'analyse bivariée étudie la relation entre deux variables — le premier pas vers la modélisation. Entre deux quantitatives : la corrélation de Pearson mesure la force de la relation linéaire (de −1 à +1), la corrélation de Spearman capte les relations monotones même non linéaires. Entre une quantitative et une qualitative : on compare les distributions par groupe (boxplots, tests de comparaison de moyennes). Entre deux qualitatives : on analyse le tableau de contingence avec le test du khi-deux.
df["revenu"].corr(df["depenses"]) # Pearson (linéaire)
df["revenu"].corr(df["depenses"], method="spearman") # Spearman (monotone)
pd.crosstab(df["segment"], df["churn"]) # tableau de contingence
⚠️ Point important : corrélation n'est pas causalité. Les ventes de glaces et les noyades sont corrélées — c'est l'été qui cause les deux (une variable de confusion). Gardez ce réflexe critique à chaque analyse.
La suite
Vous savez décrire et relier des variables. Le Module 3 : les méthodes factorielles vous apprend à résumer des dizaines de variables en quelques dimensions parlantes.
Références
- Documentation scipy.stats — tests et lois de probabilité en Python
- Documentation statsmodels — statistiques inférentielles
- Loi normale (Wikipédia) · Corrélation (Wikipédia)
- OpenIntro Statistics, manuel libre de référence : openintro.org




