IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Classification par les K-means


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Décembre
    Inscrit en
    Avril 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 277
    Par défaut Classification par les K-means
    Salut,

    Je voudrais faire une classification par K-means pour un groupe de points pour le départager en 2 ensembles, le problème c'est que quand les points sont trop proches la classification se fait mal

    Y-a-t'il un moyen pour éviter ce problème?

    Merci d'avace

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Est ce que tu as analysé tes ensembles de points ?
    Il est possible que ta frontière de décision soit extrêmement petite, voire que les k-means ne permettent pas de la déterminer correctement (si les points des deux classes sont mélangés).
    En quelle dimension travailles tu ?
    Est ce que chaque dimension a la même importance que les autres ?
    Si oui, as tu centré / normé les données ?

    Sinon, il faudrait trouver des descripteurs plus pertinents.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Membre éclairé Avatar de Décembre
    Inscrit en
    Avril 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 277
    Par défaut
    Merci de m'avoir répondue,
    Il est possible que ta frontière de décision soit extrêmement petite, voire que les k-means ne permettent pas de la déterminer correctement (si les points des deux classes sont mélangés).
    Oui exactement, y-a-t'il un moyen pour contourner le problème? ou une autre méthode de classification meilleurs que les k-means?

    En quelle dimension travailles tu ?
    En 3D

    Sinon, il faudrait trouver des descripteurs plus pertinents
    pouvez-vous être plus clair s'il vous plait?

    Merci

  4. #4
    Membre émérite
    Homme Profil pro
    Ingénieur R&D en apprentissage statistique
    Inscrit en
    Juin 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur R&D en apprentissage statistique

    Informations forums :
    Inscription : Juin 2009
    Messages : 447
    Par défaut
    K-means , n'est pas vraiment une méthode de classification, c'est une méthode de partitionnement non supervisée. Pour l'utiliser comme classifieur, on attribue à chaque cluster la classe majoritaire parmi les points qui en sont les plus proches. Si la frontière est un peu compliquée il est éventuellement possible d'augmenter le nombre de clusters (sans augmenter le nombre de classes), plusieurs cluster étant affectés à la même classe.

    Pour des méthodes de classification proprement dites, tu peux voir du côté de méthodes telles que les k-plus proches voisins, LDA (linear discriminant analysis) ou les machines à vecteur support.

    Attention cependant à la manière dont tu évalues les performances, il faudra sans doute effectuer une validation croisée.

  5. #5
    Membre éclairé Avatar de Décembre
    Inscrit en
    Avril 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 277
    Par défaut
    Bonsoir,

    K-means , n'est pas vraiment une méthode de classification, c'est une méthode de partitionnement non supervisée. Pour l'utiliser comme classifieur, on attribue à chaque cluster la classe majoritaire parmi les points qui en sont les plus proches. Si la frontière est un peu compliquée il est éventuellement possible d'augmenter le nombre de clusters (sans augmenter le nombre de classes), plusieurs cluster étant affectés à la même classe.
    Le nombre de clusters est fixe dans mon cas, je ne le contrôle pas


    Attention cependant à la manière dont tu évalues les performances, il faudra sans doute effectuer une validation croisée
    Comment fait-on une évaluation croisée?

    merci

  6. #6
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Citation Envoyé par Décembre Voir le message
    Oui exactement, y-a-t'il un moyen pour contourner le problème? ou une autre méthode de classification meilleurs que les k-means?
    Il faut voir comment sont répartis tes points. Mais les k-means, en l'occurrence ici les 2-means va classer en fonction de deux centres et d'une métrique.
    Il faut donc une méthode qui permette d'obtenir des frontières plus précises (donc évitons le linéaires) : k plus proches voisins, forêts aléatoires, réseaux de neurones, svm. Teste également la régression logistique, c'est une méthode linéaire, mais avec des tendances aux comportements non linéaires et surtout elle est très puissante pour des problèmes binaires.
    Ce sont des méthodes de classement (donc supervisées), donc il faut un échantillon d'apprentissage.

    Citation Envoyé par Décembre Voir le message
    En 3D
    Donc facile de visualiser les données, de voir où ça pose problème et ainsi traiter le problème de manière spécifique.

    Citation Envoyé par Décembre Voir le message
    pouvez-vous être plus clair s'il vous plait?
    Tu as trois descripteurs pour décrire tes données, mais sont il pertinents ?

    Admettons que tu souhaites décrire / différencier la population mondiale afin de savoir automatiquement si un individu est masculin ou féminin. Si tu choisis les trois critères "longueur des cheveux", "taille", "poids"... et bien... tu ne classeras rien du tout.
    Par contre, si tu donnes comme descripteurs la liste des hormones ou les chromosomes, tu auras une réponse juste.
    Donc ma question est : "as tu extrait des descripteurs pertinents ?".


    Citation Envoyé par Alexis.M Voir le message
    K-means , n'est pas vraiment une méthode de classification, c'est une méthode de partitionnement non supervisée.
    Juste une petite précision au niveau traduction :
    - classification (eng) => classement (fr), c'est du supervisé.
    - clustering (eng) => classification (fr), c'est du non supervisé.
    Donc les k-means est bien une méthode de classification/partitionnement.
    Les kPPV, régression logistique, SVM, etc. sont des méthodes de classement.

    Citation Envoyé par Décembre Voir le message
    Comment fait-on une évaluation croisée?
    Sujet super connu et largement traité. Fais donc une recherche sur ce terme, tu trouveras des notions de "k-fold", "Leave One Out", "BootStrap", etc.

    Pour rejoindre l'idée d'Alexis, il ne faudra pas non plus oublier de gérer le cas des échantillons déséquilibrer.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 24/02/2004, 12h28
  2. Débogage corrompu par les optimisations du compilateur
    Par petitcoucou31 dans le forum EDI
    Réponses: 6
    Dernier message: 17/12/2003, 00h30
  3. [JVM] Connaitre la taille mémoire utilisé par les dif classe
    Par sur_uix dans le forum Général Java
    Réponses: 4
    Dernier message: 18/09/2003, 09h17
  4. Copies de flots en passant par les itérateurs
    Par Christophe Brun dans le forum C++
    Réponses: 7
    Dernier message: 02/07/2003, 11h41
  5. Afficher une image sans passer par les textures
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/05/2003, 19h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo