Comment fonctionne DBSCAN, et quand le préférer ?

Questions d’entrevue Apprentissage non supervisé

Intermédiairedbscanclusteringanomalies

DBSCAN regroupe par densité. Deux paramètres suffisent : un rayon eps et un nombre minimal de voisins min_samples. Chaque point est alors classé dans une des trois catégories :

  • point central — il a au moins min_samples voisins dans son rayon ;
  • point de bordure — il est dans le rayon d’un point central sans en être un ;
  • bruit — ni l’un ni l’autre.

Un groupe est un ensemble de points centraux reliés de proche en proche, avec leurs bordures. Et c’est cette construction par chaînage qui donne ses trois propriétés remarquables.

Ce qu’il apporte face à k-means

Il trouve des formes quelconques. Un croissant, une spirale, deux cercles concentriques : puisqu’un groupe se propage de voisin en voisin, sa forme n’est contrainte par rien. C’est exactement ce que k-means ne peut pas faire.

Il décide du nombre de groupes. Il n’y a pas de k à fournir : le nombre de groupes sort de la structure de densité.

Il isole le bruit. Les points en zone peu dense sont étiquetés à part, au lieu d’être affectés de force à un groupe dont ils déplaceraient le centre. Cela fait de DBSCAN un détecteur d’anomalies autant qu’un algorithme de regroupement.

Ses limites, qu’il faut donner sans qu’on les demande

Il suppose une densité homogène. Un seul couple de paramètres pour tout le jeu : si un groupe est dense et un autre diffus, aucun eps ne convient aux deux — trop petit, le groupe diffus devient du bruit ; trop grand, les groupes denses fusionnent. C’est sa faiblesse principale, et HDBSCAN est la réponse : il explore une hiérarchie de densités et s’affranchit du choix d’eps.

eps est difficile à régler. La méthode usuelle consiste à tracer la distance au k-ième voisin de chaque point, triée, et à repérer le coude.

Il se dégrade en grande dimension, comme toute méthode fondée sur une distance : au-delà d’une dizaine de variables, les distances se ressemblent trop pour que la densité veuille dire quelque chose. On réduit donc la dimension avant, par ACP ou UMAP.

Il n’a pas de notion de centre, donc pas de moyen naturel d’affecter un nouveau point sans recalculer — ce qui complique la mise en production, là où k-means place simplement le point près du centre le plus proche.

Quand le préférer

Quand les groupes ne sont pas sphériques, quand on ne veut pas fixer k, quand le jeu contient du bruit qu’il faut écarter plutôt que ranger, et en particulier sur des données spatiales — points GPS, positions de capteurs — où la densité a un sens physique direct et où eps s’exprime en mètres, c’est-à-dire dans une unité que le métier sait fixer.

Toutes les questions Apprentissage non supervisé