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 :

[Débutant] Utilisation de la fonction classify


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 2
    Par défaut [Débutant] Utilisation de la fonction classify
    Bonjour,

    Pour un projet, je dois écrire sur Matlab un programme de classification de données qui doit déterminer la classe d'un jeu de données en fonctions de différents traits. J'ai une matrice de données de 187 lignes, chaque ligne représente un individu, et de 40 colonnes qui représentent les traits de l'individu. Je possède les labels pour chaque individu et je dois proposer un modèle qui permettra de classer efficacement un nouvel individu inconnu dans la bonne catégorie ( dans mon cas, malade ou pas malade).

    Je dois utiliser la fonction classify de MATLAB mais je ne comprends pas vraiment ce qu'elle fait exactement.

    La commande help me retourne ça:
    class = classify(sample,training,group) classifies each row of the data in sample into one of the groups in training. sample and training must be matrices with the same number of columns. group is a grouping variable for training. Its unique values define groups; each element defines the group to which the corresponding row of training belongs. group can be a categorical variable, a numeric vector, a string array, or a cell array of strings.training and group must have the same number of rows. classify treats NaNs or empty strings in group as missing values, and ignores the corresponding rows of training. The output class indicates the group to which each row of sample has been assigned, and is of the same type as group.
    Mais ça ne m'éclaire pas vraiment... Je ne comprends pas ce que sont les differents inputs et les exemples fournis dans la documentation MATLAB ne sont pas vraiment informatifs. Parfois, il passe en paramètre la même matrice pour sample et training, parfois non. Je suis un peu perdu.

    Quelqu'un pourrait m'expliquer comment utiliser cette fonction ?

    Merci d'avance !

  2. #2
    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
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class = classify(sample,training,group)
    training est ta matrice 187x40, group est une matrice 187x1 contenant les classes de tes individus (malade ou non malade) et sample doit contenir ton échantillon à tester (par exemple un nouvel individu).



    Citation Envoyé par flohoho Voir le message
    Parfois, il passe en paramètre la même matrice pour sample et training, parfois non.
    Ou as-tu vu cela? Je ne vois qu'un seul exemple dans la doc et sample et training sont différents.
    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.

  3. #3
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 2
    Par défaut
    Bonjour,

    J'ai lu ça ici :

    http://www.mathworks.ch/help/stats/e...ification.html

    c'est pour ça que j'étais confuse.

    J'ai du coup maintenant une nouvelle question. Avec cette fonction, je ne souhaite que garder une partie des traits (colonnes) qui sont les plus informatifs, je pensais donc écrire quelque chose comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new_data = data( :, [1 5 37 28])
    avec 1 5 37 28, les index des traits que je veux garder. Mais du coup, ça veut dire que je souhaite faire la classification avec plus de 2 traits. Existe-t-il un moyen de faire un graph comme dans l'exemple ici :

    http://www.mathworks.ch/help/stats/classify.html

    Le graphe appelé "classification with Fisher training data"

    Merci beaucoup pour votre réponse !

  4. #4
    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
    Par défaut
    Bonjour,
    Citation Envoyé par flohoho Voir le message
    J'ai lu ça ici :

    http://www.mathworks.ch/help/stats/e...ification.html

    c'est pour ça que j'étais confuse.
    Cela permet de tester le classifieur avant de passer à un spécimen de classe inconnue.
    Citation Envoyé par flohoho Voir le message
    J'ai du coup maintenant une nouvelle question. Avec cette fonction, je ne souhaite que garder une partie des traits (colonnes) qui sont les plus informatifs, je pensais donc écrire quelque chose comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new_data = data( :, [1 5 37 28])
    avec 1 5 37 28, les index des traits que je veux garder. Mais du coup, ça veut dire que je souhaite faire la classification avec plus de 2 traits. Existe-t-il un moyen de faire un graph comme dans l'exemple ici :

    http://www.mathworks.ch/help/stats/classify.html

    Le graph appellé "classification with Fisher training data"
    C'est un graphe en deux dimensions et tu en a cinq...
    Pour tracer sur un graphe, il faut soit réduire le nombre de dimension (par exemple à l'aide d'une ACP (analyse en composante principale) soit utiliser des méthodes style mds (multi-dimensional scaling)
    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.

Discussions similaires

  1. [Débutant] Utiliser des listes en argument d'une fonction
    Par erkenbrand dans le forum Windows Forms
    Réponses: 10
    Dernier message: 29/05/2008, 12h56
  2. [MEX] [Débutant] Utiliser la fonction max dans les mex files
    Par brel380 dans le forum MATLAB
    Réponses: 1
    Dernier message: 19/07/2007, 16h08
  3. Réponses: 4
    Dernier message: 29/05/2007, 10h03
  4. [LG]librairies : utiliser seulement quelques fonctions
    Par wwwroom dans le forum Langage
    Réponses: 13
    Dernier message: 14/05/2004, 22h50
  5. [Débutant] Utilisation de FOP - Register Fonts with FOP
    Par Johnbob dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 31/01/2004, 00h27

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