Tout d’abord bonjour à tous !
Alors voilà, je viens d’aborder en statistiques la méthode des k-means comme classification, et je dois maintenant l’implémenter en python mais je dois admettre que je suis largué.
Je vous explique mon exemple: j’ai à ma disposition un dictionnaire regroupant N vins et 14 informations concernant chaque vin (son Id, son acidité, son ph, s’il est rouge ou blanc, etc…). On cherche donc à regrouper les vins en classes, classes dans lesquelles les informations évoquées sont logiquement homogènes.
Voilà les instructions (conseils) qui m’ont été données:
L’idée est d’estimer les centres µ des clusters à partir de données. On affecte ensuite l’observation au cluster Ck dont le centre µk est le plus proche.
Soit x1, x2, …, xN , l’ensemble de N observations (vins) où chaque observation est un vecteur de dimension d (d informations). Le principe de la méthode K-means est le suivant : — On initialise (au hasard ou non) K centres µ1, µ2, .., µK où chaque centre est également de dimension d. — On calcule la distance entre les N observations et les K centres et on affecte les observations aux centres dont ils sont le plus proche. Puis on redéfinit les centres à partir des observations qui ont été affectées aux différentes classes : ∀k ∈ {1, 2, …, K}, µk = 1 mk P i∈Ck xi avec mk = Card(Ck) — On répète en général plusieurs fois l’étape précédente jusqu’à éteindre un critère convergence donné (à définir) pour ne retenir que la solution la plus optimale selon ce critère.
Certains d’entre vous pourraient-ils m’apporter leur aide pour implémenter cette méthode en python?
Merci d’avance, Alexouu