J'ai une question très basique sur le clustering. Après avoir trouvé k clusters avec leurs centroïdes, comment dois-je procéder pour interpréter les classes des points de données que j'ai groupés (en attribuant des étiquettes de classe significatives à chaque cluster). Je ne parle pas de validation des clusters trouvés.
Peut-on le faire en fonction d'un petit ensemble de points de données étiquetés, calculer à quel cluster ces points étiquetés appartiennent et en fonction du type et du nombre de points que chaque cluster reçoit, décider de l'étiquette? Cela semble assez évident, mais je ne sais pas comment il est standard d'attribuer des étiquettes aux clusters de cette façon.
Pour être clair, je veux effectuer un clustering non supervisé qui n'utilise aucune étiquette pour trouver d'abord mes clusters. Après avoir trouvé les clusters, je veux attribuer des étiquettes de classe significatives aux clusters en fonction des propriétés de quelques exemples de points de données.
Réponses:
Oui. Ce que vous proposez est entièrement standard et c'est la façon dont le logiciel k-means standard fonctionne automatiquement. Dans le cas de k-moyennes, vous calculez la distance euclidienne entre chaque observation (point de données) et la moyenne de chaque cluster (centroïde) et affectez les observations au cluster le plus similaire. Ensuite, l'étiquette de la grappe est déterminée en examinant les caractéristiques moyennes des observations classées dans la grappe par rapport aux moyennes de celles relatives aux autres grappes.
la source
Si vous regardez les noms dans votre objet kmeans, vous remarquerez qu'il existe un objet "cluster". Il contient les étiquettes de classe ordonnées de la même manière que vos données d'entrée. Voici un exemple simple qui lie les étiquettes de cluster à vos données.
la source
Les étiquettes du cluster peuvent être basées sur la classe d'échantillons majoritaires au sein d'un cluster. Mais cela n'est vrai que si le nombre de clusters est égal au nombre de classes.
la source