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

Méthodes prédictives Discussion :

erreur fonction svmclassify


Sujet :

Méthodes prédictives

  1. #1
    Membre du Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Décembre 2011
    Messages : 79
    Points : 60
    Points
    60
    Par défaut erreur fonction svmclassify
    Bonjour tlm;
    Je suis en train de travailler avec la fonction "svmclassify" pour classifier ma base de test de vecteurs descripteurs de taille 87*8.
    en passant par la fonction svmtrain

    Mais lorsque je compile mon code il me donne l'erreur suivant:

    Reference to non-existent field 'SupportVectors'.

    Error in svmclassify (line 60)
    if size(sample,2)~=size(svmStruct.SupportVectors,2)

    Error in tessssssssstttsvm (line 30)
    Group = svmclassify(svmStruct,test')


    ???????
    any help

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

    J'adore le nom de ta fonction ^^
    Le paramètre svmStruct rentré dans la fonction svmclassify est censé être une structure (retournée par la fonction svmtrain) contenant entre autres le champ 'SupportVectors', ce qui ne semble pas être le cas ici.
    Voir l'exemple dans la documentation.

  3. #3
    Membre du Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Décembre 2011
    Messages : 79
    Points : 60
    Points
    60
    Par défaut
    Même chose !!!!
    lorsque j'ai compilé l'exemple que vous m'avez donnée , il me donne les message d'erreur suivant:

    Error using svmclassify (line 53)
    The first input should be a struct generated by SVMTRAIN.

    Error in test2 (line 10)
    species = svmclassify(svmStruct,[5 2],'showplot',true)



    ????

  4. #4
    Invité
    Invité(e)
    Par défaut
    Quel code utilise-tu exactement ? Et surtout comment génères-tu svmStruct ?
    Je te rappelle au même titre que ton erreur :
    The first input should be a struct generated by SVMTRAIN.
    Citation Envoyé par Winjerome Voir le message
    Le paramètre svmStruct rentré dans la fonction svmclassify est censé être une structure (retournée par la fonction svmtrain) contenant entre autres le champ 'SupportVectors', ce qui ne semble pas être le cas ici.

  5. #5
    Membre du Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Décembre 2011
    Messages : 79
    Points : 60
    Points
    60
    Par défaut
    Code MATLAB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    clc;
    clear all;
    close all;
     
    load fisheriris
    xdata = meas(51:end,3:4);
    group = species(51:end);
    svmStruct = svmtrain(xdata,group,'showplot',true);
     
    species = svmclassify(svmStruct,[5 2],'showplot',true)
    hold on;plot(5,2,'ro','MarkerSize',12);hold off
     
    species = 'virginica'

    voila c'est le code que j'ai testé.

    Si vous parlé de mon propre code, j'ai fais le code suivant:
    Code MATLAB : 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
    25
    26
    27
    28
    29
    30
    31
    clc;
    clear all;
    close all;
     
    B1=xlsread('C:\Documents and Settings\sonya\Bureau\MASTER-bureau\classification part\BB1.xlsx');
    B2=xlsread('C:\Documents and Settings\sonya\Bureau\MASTER-bureau\classification part\BB2.xlsx');
    B3=xlsread('C:\Documents and Settings\sonya\Bureau\MASTER-bureau\classification part\BB3.xlsx');
    B4=xlsread('C:\Documents and Settings\sonya\Bureau\MASTER-bureau\classification part\BB4.xlsx');
    B5=xlsread('C:\Documents and Settings\sonya\Bureau\MASTER-bureau\classification part\BB5.xlsx');
    B6=xlsread('C:\Documents and Settings\sonya\Bureau\MASTER-bureau\classification part\BB6.xlsx');
    B=[B1;B2;B3;B4;B5;B6];
     
    %T: est la base d'apprentissage:
     
    T=[B1(1:40,:);B2(1:60,:);B3(1:20,:);B4(1:20,:);B5(1:20,:);B6(1:20,:)];
     
     
    LS=[1*ones(1,40) 2*ones(1,60) 3*ones(1,20) 4*ones(1,20) 5*ones(1,20) 6*ones(1,20)];
     
    tLS=LS';
    %utilisation de la fonction svmtrain
     
    svmStruct = svmtrain(T,tLS)
     
    %test: est la base de test:
     
    test=[B1(1:20,:);B2(1:20,:);B3(1:9,:);B4(1:9,:);B5(1:20,:);B6(1:9,:)];
     
    %utilisation de la base svmclassify:
     
    Group = svmclassify(svmStruct,test')

    Merci d'avance

  6. #6
    Invité
    Invité(e)
    Par défaut
    Que retournent
    Code MATLAB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    svmStruct 
    which -all svmtrain
    ?
    Dernière modification par Invité ; 18/12/2014 à 01h32. Motif: Coloration syntaxique [code=MATLAB] ... [/code]

  7. #7
    Membre du Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Décembre 2011
    Messages : 79
    Points : 60
    Points
    60
    Par défaut
    le code retourné:

    Code MATLAB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    svmStruct = 
     
        Parameters: [5x1 double]
          nr_class: 1
           totalSV: 0
               rho: [0x1 double]
             Label: 0
             ProbA: []
             ProbB: []
               nSV: 0
           sv_coef: []
               SVs: [0x1 double]
     
    C:\Program Files\MATLAB\R2012matlab\toolbox\libsvm-mat-2.89-3\svmtrain.mexw32
    C:\Program Files\MATLAB\R2012matlab\toolbox\bioinfo\biolearning\svmtrain.m     % Shadowed
    Oh la la j'ai fait une bêtise très grave
    c'est normal qu'il ne connait pas "svmStruct " car il existe deux paths pour la fonction svmtrain puisque j'ai ajouté le toolbox "libsvm-mat-2.89-3" alors que la fonction se trouve déjà dans le toolbox "bioinfo".


    Mais après la suppression du toolbox "libsvm-mat-2.89-3";

    le code me retourne l'erreur suivant:

    Error using svmtrain (line 274)
    SVMTRAIN only supports classification into two groups. GROUP
    contains 6 groups.

    Error in test1 (line 23)
    svmStruct = svmtrain(T,tLS)


    qu'est ce que dois-je faire alors pour appliquer le svm sur 6 classe ????

    sachant que :
    Code MATLAB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >> svmStruct 
    which -all svmtrain
    Undefined function or variable 'svmStruct'.
     
    >> which -all svmtrain
    C:\Program Files\MATLAB\R2012matlab\toolbox\bioinfo\biolearning\svmtrain.m

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par soniaIRM Voir le message
    qu'est ce que dois-je faire alors pour appliquer le svm sur 6 classe ????
    Tu ne peux pas directement, je t'invite à regarder ce message.

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/11/2006, 21h10
  2. [Forum] Erreur fonction mysql_result()
    Par reda93 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 01/08/2006, 10h13
  3. Réponses: 2
    Dernier message: 01/06/2006, 14h54
  4. [DOM XML] Erreur fonction load() d'un objet dom??
    Par ribrok dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/10/2005, 11h43
  5. méssage d'erreur fonction d'agrégat
    Par developpeur_mehdi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 10/03/2004, 12h42

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