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

MATLAB Discussion :

méthodes de classifications


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Femme Profil pro
    Etudiante Chercheur
    Inscrit en
    Octobre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Etudiante Chercheur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 11
    Points : 4
    Points
    4
    Par défaut méthodes de classifications
    Bonjour tout le monde , je suis nouvelle ici et j'aurai besoin de votre aide si possible. je suis censée tester 3 différentes méthodes de classification sur matlab sur mon fichier .dat ( une matrice 160 lignes 9 colonnes) et dire laquelle est la plus optimale . le problème est que je n'ai étudié que la fonction kmeans. j'essaie de faire une classification hiérarchique mais je ne trouve pas la fonction ( sur le net je trouve clusterdata et dendrogramme, mais quand j'applique ces fonctions à mon fichier j'obtiens des résultats bizarres), et ca se complique quand j'essaie d'utiliser un classifieur SVM. quelles méthodes me conseillez vous sachant que j'ai une semaine pour rendre ce projet déja est ce que c'est faisable ? je vous remercie d'avance pour votre aide

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 37
    Points : 38
    Points
    38
    Par défaut
    Bonjour Nerd,

    Quand tu dis "classifier", tu entends "trier" (par ordre croissant, décroissant...) ?
    Dans ce cas, est-ce que ton projet ne consiste pas plutôt à écrire des algorithmes de tri sous Matlab, plutôt que d'utiliser des fonctions toutes faites ?
    Si c'est la cas, en une semaine, c'est largement faisable...

  3. #3
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    je pense que N.E.R.D parle de classification de données dans le sens partitionnement de données (clustering).

    Citation Envoyé par N.E.R.D Voir le message
    j'essaie de faire une classification hiérarchique mais je ne trouve pas la fonction ( sur le net je trouve clusterdata et dendrogramme, mais quand j'applique ces fonctions à mon fichier j'obtiens des résultats bizarres), et ca se complique quand j'essaie d'utiliser un classifieur SVM.
    Qu'entends-tu par résultat bizarre?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  4. #4
    Membre habitué
    Homme Profil pro
    étudiant ingénieur traitement images médicales
    Inscrit en
    Juin 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : étudiant ingénieur traitement images médicales
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2012
    Messages : 74
    Points : 131
    Points
    131
    Par défaut
    regarde du côté des arbres de décisions ( classregtree sur Matlab) et des réseaux neuronaux (si tu as la toolbox neural network)

  5. #5
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour,

    Je ne garantis pas que ça marche sur tes données, mais dans l'absolu, SVM et arbre de classification donnent de bons résultats, et son codés en matlab, donc ne devraient pas te demander trop de temps

    Les réseau de neurone te demanderont surement un peu plus de temps, tout comme les approches par nuées dynamiques

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 37
    Points : 38
    Points
    38
    Par défaut
    Au temps pour moi !
    Bon courage !

  7. #7
    Candidat au Club
    Femme Profil pro
    Etudiante Chercheur
    Inscrit en
    Octobre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Etudiante Chercheur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Merci
    Bonjour tout le monde et merci de prendre le temps de m'aider alors voici le code que j'applique à mon document Y.dat et voici le résultat. Voici le code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    opts = statset('Display','final');
     
    [idx,ctrs] = kmeans(Y,4,...
                        'Distance','city',...
                        'Replicates',9,...
                        'Options',opts);
     
     
     
    plot(Y(idx==1,1),Y(idx==1,2),Y(idx==1,3),Y(idx==1,4),'r.','MarkerSize',12)
    hold on
    plot(Y(idx==2,1),Y(idx==2,2),Y(idx==2,3),Y(idx==2,4),'b.','MarkerSize',12)
    hold on
    plot(Y(idx==3,1),Y(idx==3,2),Y(idx==3,3),Y(idx==3,4),'y.','MarkerSize',12)
    hold on
    plot(Y(idx==4,1),Y(idx==4,2),Y(idx==4,3),Y(idx==4,4),'g.','MarkerSize',12)
     
    plot(ctrs(:,1),ctrs(:,2),ctrs(:,3),ctrs(:,4),'kx',...
         'MarkerSize',12,'LineWidth',2)
    plot(ctrs(:,1),ctrs(:,2),ctrs(:,3),ctrs(:,4),'ko',...
         'MarkerSize',12,'LineWidth',2)
     
    legend('Cluster 1','Cluster 2','Cluster 3','Cluster 4','Centroids',...
           'Location','NW')
    je dois obtenir 4 classes vu que c'est une classification supervisée. le problème je comprend pas pourquoi j'ai les traits bleus dans l'image
    Nom : kmeans.png
Affichages : 91
Taille : 52,6 Ko

    merci beaucoup de votre aide

  8. #8
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    prends le temps de lire la documentation de plot.
    Que fais cette ligne à ton avis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot(Y(idx==1,1),Y(idx==1,2),Y(idx==1,3),Y(idx==1,4),'r.','MarkerSize',12)
    ?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  9. #9
    Candidat au Club
    Femme Profil pro
    Etudiante Chercheur
    Inscrit en
    Octobre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Etudiante Chercheur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par magelan Voir le message
    Bonjour,

    prends le temps de lire la documentation de plot.
    Que fais cette ligne à ton avis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot(Y(idx==1,1),Y(idx==1,2),Y(idx==1,3),Y(idx==1,4),'r.','MarkerSize',12)
    ?
    il m'affiche en rouge les éléments de la premiere classe non ?

  10. #10
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Non, tu fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot(x1,y1,x2,y2,'r.','MarkerSize',12)
    donc tu traces Y(idx==1,2) en fonction de Y(idx==1,1) (courbe bleu) et Y(idx==1,4) en fonction de Y(idx==1,3) (points rouges).
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  11. #11
    Candidat au Club
    Femme Profil pro
    Etudiante Chercheur
    Inscrit en
    Octobre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Etudiante Chercheur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par magelan Voir le message
    Non, tu fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot(x1,y1,x2,y2,'r.','MarkerSize',12)
    donc tu traces Y(idx==1,2) en fonction de Y(idx==1,1) (courbe bleu) et Y(idx==1,4) en fonction de Y(idx==1,3) (points rouges).
    tout d'abord merci beaucoup de de prendre le temps de me répondre vraiment du fond du coeur merci

    mais dis moi le x1 et y1 et x2 et y2 correspondent a quoi ?

  12. #12
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    A rien c'était juste pour faire le lien avec la doc (regarde à quoi correspond plot(X1,Y1,...,Xn,Yn) dans la documentation).

    Si tu préfères :
    Non, tu fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot(Y(idx==1,1),Y(idx==1,2),Y(idx==1,3),Y(idx==1,4),'r.','MarkerSize',12)
    donc tu traces Y(idx==1,2) en fonction de Y(idx==1,1) (courbe bleu) et Y(idx==1,4) en fonction de Y(idx==1,3) (points rouges).
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  13. #13
    Candidat au Club
    Femme Profil pro
    Etudiante Chercheur
    Inscrit en
    Octobre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Etudiante Chercheur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par magelan Voir le message
    A rien c'était juste pour faire le lien avec la doc (regarde à quoi correspond plot(X1,Y1,...,Xn,Yn) dans la documentation).

    Si tu préfères :
    Non, tu fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot(Y(idx==1,1),Y(idx==1,2),Y(idx==1,3),Y(idx==1,4),'r.','MarkerSize',12)
    donc tu traces Y(idx==1,2) en fonction de Y(idx==1,1) (courbe bleu) et Y(idx==1,4) en fonction de Y(idx==1,3) (points rouges).
    ben voila c'est ca le probleme je pense que mon code ets juste je comprend pas pourquoi y'a la rature bleu

  14. #14
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Citation Envoyé par N.E.R.D Voir le message
    ben voila c'est ca le probleme je pense que mon code ets juste je comprend pas pourquoi y'a la rature bleu
    Citation Envoyé par magelan Voir le message
    Non, tu fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot(Y(idx==1,1),Y(idx==1,2),Y(idx==1,3),Y(idx==1,4),'r.','MarkerSize',12)
    donc tu traces Y(idx==1,2) en fonction de Y(idx==1,1) (courbe bleu) et Y(idx==1,4) en fonction de Y(idx==1,3) (points rouges).
    Je vois pas comment je peux être plus clair...

    Les 4 premières colonnes de Y correspondent bien à 4 paramètres? Tu ne peux pas tracer des données en fonction de 4 paramètres dans un graphique de 2 dimensions... Donc explique ce que tu souhaites tracer précisément.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  15. #15
    Candidat au Club
    Femme Profil pro
    Etudiante Chercheur
    Inscrit en
    Octobre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Etudiante Chercheur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par magelan Voir le message
    Je vois pas comment je peux être plus clair...

    Les 4 premières colonnes de Y correspondent bien à 4 paramètres? Tu ne peux pas tracer des données en fonction de 4 paramètres dans un graphique de 2 dimensions... Donc explique ce que tu souhaites tracer précisément.
    je voudrai faire une classification kmeans avec 4 classes (je sais a l'avance les composantes de chaque classe) . mon fichier auquel j'applique la fonction kmeans contient 160 lignes et 9 colonnes

  16. #16
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    C'est ce que tu as fait avec les lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    opts = statset('Display','final');
     
    [idx,ctrs] = kmeans(Y,4,...
                        'Distance','city',...
                        'Replicates',9,...
                        'Options',opts);
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  17. #17
    Candidat au Club
    Femme Profil pro
    Etudiante Chercheur
    Inscrit en
    Octobre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Etudiante Chercheur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par magelan Voir le message
    C'est ce que tu as fait avec les lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    opts = statset('Display','final');
     
    [idx,ctrs] = kmeans(Y,4,...
                        'Distance','city',...
                        'Replicates',9,...
                        'Options',opts);
    oui mais je ne comprend pas pourquoi quand je fais le plot j'ai le bleu dans la figure :/

  18. #18
    Invité
    Invité(e)
    Par défaut
    Comme magelan a essayé en vain de t'expliquer, tu traces deux jeux de données.
    Un plot se fait en 2D : x en abscisses et y en ordonnées.

    Faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot(Y(idx==1,1),Y(idx==1,2),Y(idx==1,3),Y(idx==1,4),'r.','MarkerSize',12)
    revient à tracer

  19. #19
    Candidat au Club
    Femme Profil pro
    Etudiante Chercheur
    Inscrit en
    Octobre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Etudiante Chercheur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Bonsoir,

    desolée de ne pas avoir répondu plutot . j'ai essayé ta méthode et d'autres que j'ai cherché sur internet et ca a marché . je te remercie beaucoup de ton aide précieuse

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

Discussions similaires

  1. Comparatifs méthodes de classification images médicales
    Par blackmisery dans le forum Traitement d'images
    Réponses: 73
    Dernier message: 09/02/2012, 20h36
  2. Réponses: 4
    Dernier message: 09/12/2011, 18h23
  3. Inventaire des méthodes de classification
    Par joyeux_lapin13 dans le forum SAS STAT
    Réponses: 2
    Dernier message: 29/05/2010, 22h10
  4. Méthodes de Classification
    Par medchok dans le forum MATLAB
    Réponses: 4
    Dernier message: 18/03/2009, 11h59
  5. Méthode de classification en 3D
    Par adriangarello dans le forum Images
    Réponses: 4
    Dernier message: 03/07/2008, 11h55

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