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 :

Support Vector Machine : performance


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Support Vector Machine : performance
    Bonjour,
    Dans mon programme, je me sers du classifieur svm (Support Vector Machine). Mais contrairement à l'exemple donné dans l'aide ([train, test] = crossvalind('holdOut',groups);), je ne me sers pas de la validation croisée pour faire mes matrices de données d'apprentissage et de test. Je les fais moi-même. J'ai donc 2 matrices : une pour le train (indata_train) et l'une pour le test (indata_test).

    Apprentissage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SVMstruct=svmtrain(inData_train,inClasseSVM,'Kernel_Function','rbf');
    inClasseSVM(1:50,1)=1 et inClasseSVM(51:1750,1)=0 .

    J'ai alors un problème pour obtenir la performance du classifieur car je ne sais pas comment définir "test" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    classes = svmclassify(SVMstruct,indata_test);
    classperf(cp,classes,test); % ?
    cp.CorrectRate
    J'espère que j'ai été assez claire. Pourriez vous m'aider svp?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    As-tu vu cette discussion ?
    Ainsi que la documentation de la fonction classperf ?

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Ok donc je peux pas me servir de classperf. Y a-t-il une autre solution?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Tu peux t'en servir, mais sur des données dont tu connais déjà la classe, chose que moha_namb n'avais pas compris dans la discussion vers laquelle je t'ai dirigé (pour comprendre les étapes).

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je sais que inData_test(1:50,:) appartient à une classe et inData_test(51:1750,:) à l'autre classe. Pourriez vous m'expliquer comment écrire classperf en sachant cela svp?

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    J'ai essayé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    v=svmclassify(SVMstruct,inData_UnifiedTest);
            for i=1:size(inData_UnifiedTest,1)
                test(i)=i;
            end
            classperf(cp,v,test);
     
            perfSVM=cp.CorrectRate
    Et j'ai ce message d'erreur :
    Index vector has invalid values.
    J'aurais vraiment besoin d'aide, svp...

Discussions similaires

  1. Support vector machine
    Par ahlam2008 dans le forum Statistiques, Data Mining et Data Science
    Réponses: 7
    Dernier message: 20/10/2014, 14h15
  2. Questions Sur SVM(Support Vector Machines)
    Par vizardo16 dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 11/04/2011, 17h12
  3. support vector machine sous matlab
    Par m2aziz dans le forum MATLAB
    Réponses: 1
    Dernier message: 29/03/2010, 10h31
  4. Support Vector Machine Classification
    Par flo71 dans le forum Images
    Réponses: 9
    Dernier message: 02/06/2009, 16h44
  5. Bibliothèque Support Vector Machine (SVM)
    Par medchok dans le forum MATLAB
    Réponses: 0
    Dernier message: 08/04/2009, 14h52

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