Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Futur Membre du Club
    Femme Profil pro sonya touti
    Chercheur en informatique
    Inscrit en
    décembre 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Nom : Femme sonya touti
    Localisation : Tunisie

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

    Informations forums :
    Inscription : décembre 2011
    Messages : 69
    Points : 19
    Points
    19

    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
    Responsable FAQ C++
    Avatar de Winjerome
    Homme Profil pro Jérôme
    Inscrit en
    septembre 2009
    Messages
    7 659
    Détails du profil
    Informations personnelles :
    Nom : Homme Jérôme
    Âge : 27
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : septembre 2009
    Messages : 7 659
    Points : 26 158
    Points
    26 158

    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.
    Avant de poser votre question : FAQ, Tutoriels et recherche sur le forum
    Une erreur ? Messages d'erreur et avertissements
    "Ça ne marche pas" n'apporte aucune information utile permettant de vous aider. Expliquez clairement votre problème (erreurs entières, résultat souhaité vs obtenu...).

    En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
    L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
    Retrouvez-moi en soirée sur le chat de developpez.com - Pas de question technique par MP, Merci

  3. #3
    Futur Membre du Club
    Femme Profil pro sonya touti
    Chercheur en informatique
    Inscrit en
    décembre 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Nom : Femme sonya touti
    Localisation : Tunisie

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

    Informations forums :
    Inscription : décembre 2011
    Messages : 69
    Points : 19
    Points
    19

    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
    Responsable FAQ C++
    Avatar de Winjerome
    Homme Profil pro Jérôme
    Inscrit en
    septembre 2009
    Messages
    7 659
    Détails du profil
    Informations personnelles :
    Nom : Homme Jérôme
    Âge : 27
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : septembre 2009
    Messages : 7 659
    Points : 26 158
    Points
    26 158

    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.
    Avant de poser votre question : FAQ, Tutoriels et recherche sur le forum
    Une erreur ? Messages d'erreur et avertissements
    "Ça ne marche pas" n'apporte aucune information utile permettant de vous aider. Expliquez clairement votre problème (erreurs entières, résultat souhaité vs obtenu...).

    En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
    L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
    Retrouvez-moi en soirée sur le chat de developpez.com - Pas de question technique par MP, Merci

  5. #5
    Futur Membre du Club
    Femme Profil pro sonya touti
    Chercheur en informatique
    Inscrit en
    décembre 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Nom : Femme sonya touti
    Localisation : Tunisie

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

    Informations forums :
    Inscription : décembre 2011
    Messages : 69
    Points : 19
    Points
    19

    Par défaut

    Code :
    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 :
    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
    Responsable FAQ C++
    Avatar de Winjerome
    Homme Profil pro Jérôme
    Inscrit en
    septembre 2009
    Messages
    7 659
    Détails du profil
    Informations personnelles :
    Nom : Homme Jérôme
    Âge : 27
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : septembre 2009
    Messages : 7 659
    Points : 26 158
    Points
    26 158

    Par défaut

    Que retournent
    Code :
    1
    2
    svmStruct 
    which -all svmtrain
    ?
    Avant de poser votre question : FAQ, Tutoriels et recherche sur le forum
    Une erreur ? Messages d'erreur et avertissements
    "Ça ne marche pas" n'apporte aucune information utile permettant de vous aider. Expliquez clairement votre problème (erreurs entières, résultat souhaité vs obtenu...).

    En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
    L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
    Retrouvez-moi en soirée sur le chat de developpez.com - Pas de question technique par MP, Merci

  7. #7
    Futur Membre du Club
    Femme Profil pro sonya touti
    Chercheur en informatique
    Inscrit en
    décembre 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Nom : Femme sonya touti
    Localisation : Tunisie

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

    Informations forums :
    Inscription : décembre 2011
    Messages : 69
    Points : 19
    Points
    19

    Par défaut

    le code retourné:

    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 betise 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 deja 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 :
    >> svmStruct
    which -all svmtrain
    Undefined function or variable 'svmStruct'.

    >> which -all svmtrain
    C:\Program Files\MATLAB\R2012matlab\toolbox\bioinfo\biolearning\svmtrain.m

  8. #8
    Responsable FAQ C++
    Avatar de Winjerome
    Homme Profil pro Jérôme
    Inscrit en
    septembre 2009
    Messages
    7 659
    Détails du profil
    Informations personnelles :
    Nom : Homme Jérôme
    Âge : 27
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : septembre 2009
    Messages : 7 659
    Points : 26 158
    Points
    26 158

    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.
    Avant de poser votre question : FAQ, Tutoriels et recherche sur le forum
    Une erreur ? Messages d'erreur et avertissements
    "Ça ne marche pas" n'apporte aucune information utile permettant de vous aider. Expliquez clairement votre problème (erreurs entières, résultat souhaité vs obtenu...).

    En essayant continuellement on finit par réussir. Donc: plus ça rate, plus on a de chance que ça marche. - Jacques Rouxel
    L'expérience, c'est le nom que chacun donne à ses erreurs - Oscar Wilde
    Retrouvez-moi en soirée sur le chat de developpez.com - Pas de question technique par MP, Merci

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •