0Pricing
Learn AI with Python · Leçon

Corrélation et covariance

Corrélations de Pearson et de Spearman, matrice de covariance et interprétation de la corrélation dans le contexte de l’apprentissage automatique.

Corrélation et covariance est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.

Mesurer les relations

La covariance et la corrélation quantifient la manière dont deux variables évoluent ensemble. Elles sont à la base de la sélection des caractéristiques, de la théorie des portefeuilles et de l’analyse exploratoire.

Covariance

La covariance est positive lorsque les variables augmentent ensemble, et négative lorsque l’une augmente tandis que l’autre diminue. Son amplitude dépend des unités, ce qui rend la covariance brute difficile à interpréter.

import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 4, 6])
print(np.cov(x, y, ddof=1))   # 2x2 covariance matrix

La matrice de covariance

np.cov renvoie une matrice : la diagonale contient les variances, et les autres éléments la covariance entre les paires. Cette matrice se généralise à de nombreuses variables et constitue le fondement de PCA.

data = np.array([[1, 2, 3], [2, 4, 5], [3, 6, 7]], dtype=float)
print(np.cov(data.T))   # 3x3 covariance matrix of the columns

Corrélation : covariance mise à l’échelle

La corrélation de Pearson ramène la covariance à l’intervalle de -1 à 1 en la divisant par le produit des écarts types. Elle est donc sans unité et comparable.

print(np.corrcoef(x, y))   # 2x2 correlation matrix, diagonal is 1

Lire une corrélation

+1 représente une relation linéaire positive parfaite, -1 une relation négative parfaite et 0 l’absence de relation LINEAR. Des valeurs proches de 0 peuvent malgré tout dissimuler une forte relation non linéaire.

La corrélation dans pandas

df.corr() calcule simultanément les corrélations par paires entre toutes les colonnes numériques : c’est le moyen le plus rapide d’explorer les relations dans un jeu de données.

import pandas as pd
df = pd.DataFrame({"a": [1,2,3,4,5], "b": [2,4,5,4,6], "c": [9,7,6,5,3]})
print(df.corr())   # Pearson by default

Pearson ou Spearman

Pearson mesure une association LINEAR sur les valeurs brutes. Spearman s'appuie sur les RANKS, ce qui lui permet de détecter toute relation monotone et de résister aux valeurs aberrantes.

from scipy import stats
x = np.array([1, 2, 3, 4, 100])
y = np.array([1, 2, 3, 4, 5])
print(stats.pearsonr(x, y).statistic)    # distorted by outlier
print(stats.spearmanr(x, y).statistic)   # 1.0 (perfectly monotonic)

Choisir la méthode

df.corr(method="spearman") fait passer pandas à la corrélation de rangs. Préférez Spearman en présence de valeurs aberrantes ou de relations non linéaires mais monotones, et Pearson pour des données linéaires propres.

print(df.corr(method="spearman"))

La corrélation n'est NOT pas la causalité

Une forte corrélation ne signifie pas qu'une variable cause l'autre. Un facteur de confusion caché peut être à l'origine des deux. Demandez-vous toujours ce qui pourrait expliquer autrement ce lien.

Corrélation fallacieuse

Avec suffisamment de variables, certaines seront corrélées par pur hasard. Les ventes de glaces et les noyades sont corrélées, car toutes deux sont favorisées par la chaleur estivale, et non l'une par l'autre. Considérez les corrélations inattendues avec scepticisme.

Visualiser avec une carte thermique

Une carte thermique des corrélations fait ressortir les tendances. Les paires de variables fortement corrélées peuvent être redondantes et candidates à la suppression avant la modélisation.

# import seaborn as sns
# sns.heatmap(df.corr(), annot=True, cmap="coolwarm")

Vérification rapide

Vérifiez vos connaissances sur les corrélations.

Récapitulatif

Boîte à outils des corrélations :

  • La covariance indique la direction, mais dépend des unités ; np.cov fournit la matrice
  • La corrélation est redimensionnée sur l'intervalle -1..1 : np.corrcoef, df.corr()
  • Pearson (linéaire) ou Spearman (rang, robuste, monotone)
  • La corrélation n'est pas la causalité ; méfiez-vous des facteurs de confusion et des liens fallacieux

Questions Fréquemment Posées

La leçon « Corrélation et covariance » est-elle gratuite ?

Oui — le texte complet de « Corrélation et covariance » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Corrélation et covariance » ?

Corrélations de Pearson et de Spearman, matrice de covariance et interprétation de la corrélation dans le contexte de l’apprentissage automatique. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Learn AI with Python ?

Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Corrélation et covariance » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?

Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Statistiques descriptives et distributions
  2. Probabilités et théorème de Bayes
  3. Tests d’hypothèses
  4. Corrélation et covariance
← Retour à Learn AI with Python