Partie 2 · Pratique (hors cours)
Distance et k plus proches voisins
Cette leçon et les deux suivantes sont des ajouts hors cours, pour implémenter en Python pur des algorithmes simples (objectif « Implémenter des algorithmes de ML en Python »).
La distance euclidienne
Entre deux points p et q : racine( Σ (p_i - q_i)² ). Entre (0, 0) et (3, 4) elle vaut 5.
def distance(p, q): return sum((a - b) ** 2 for a, b in zip(p, q)) ** 0.5
k-NN : classer par vote des voisins
Pour classer une nouvelle observation, on prend les k observations connues les plus proches et on retient la classe majoritaire. Il n'y a pas d'entraînement : le modèle, c'est le jeu de données. Les variables d'échelles très différentes faussent la distance : on les met souvent à la même échelle (par exemple min-max : (x - min) / (max - min)).
Vérifie que tu as compris
Quelle est la distance euclidienne entre (0, 0) et (3, 4) ?
Vérifie que tu as compris
Avec k = 3 et trois voisins A, A, B, quelle classe est prédite ?