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 :

Undefined variable "weka" or class "weka.filters.supervised.attribute.AttributeSelection".


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Par défaut Undefined variable "weka" or class "weka.filters.supervised.attribute.AttributeSelection".
    je débute en matlab, et j'ai un erreur que je comrend pas:
    je fait run pour ce code tot d'abords:
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
     
    curPath = pwd;
     
    %% load weka jar, and common interfacing methods.
    path(path, [curPath filesep 'lib']);
    path(path, [curPath filesep 'lib' filesep 'weka']);
    loadWeka(['lib' filesep 'weka']);
     
    %% feature selection algorithms
    path(path,[curPath filesep 'fs_sup_blogreg']);
    path(path,[curPath filesep 'fs_sup_cfs']);
    path(path,[curPath filesep 'fs_sup_chisquare']);
    path(path,[curPath filesep 'fs_sup_fcbf']);
    path(path,[curPath filesep 'fs_sup_fisher_score']);
    path(path,[curPath filesep 'fs_sup_gini_index']);
    path(path,[curPath filesep 'fs_sup_information_gain']);
    path(path,[curPath filesep 'fs_sup_kruskalwallis']);
    path(path,[curPath filesep 'fs_sup_mrmr']);
    path(path,[curPath filesep 'fs_sup_relieff']);
    path(path,[curPath filesep 'fs_sup_sbmlr']);
    path(path,[curPath filesep 'fs_sup_ttest']);
    path(path,[curPath filesep 'fs_uns_spec']);
     
    %% predictors
    path(path,[curPath filesep 'classifiers' filesep 'knn']);
    path(path,[curPath filesep 'classifiers' filesep 'svm']);
    path(path,[curPath filesep 'classifiers' filesep 'j48']);
    path(path,[curPath filesep 'classifiers' filesep 'bayes']);
    path(path,[curPath filesep 'clusters' filesep 'kmeans']);
     
    %% data preprocessors
    path(path,[curPath filesep 'preprocessor']);
     
    %% evaluator
    path(path,[curPath filesep 'evaluator' filesep 'fsevaluator']);
     
    %% ability to run experiments.
    %path(path, [curPath filesep 'examples' filesep 'code' filesep ...
    %    'result_statistic' filesep 'supervised' filesep]);
     
    clear curPath;
    puis je fait appel à la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    nomfile=['./FishierMatAppSelection1']
    a=load(nomfile);
    Xapp=a.X;
    Yapp=a.Y;
    out =  fsFCBF(Xapp,Yapp)
    qui contient un code de la selection de variables de la fonction FCBF et voile le code de cette fonction:
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
     
    function [out] =  fsFCBF(X,Y)
    %Using Weka's feature selection algorithm
    % X,  the features on current trunk, each colum is a feature vector on all
    %     instances, and each row is a part of the instance
    % Y,  the label of instances, in single column form: 1 2 3 4 5 ...
     
    % a.E = 'weka.attributeSelection.SymmetricalUncertAttributeSetEval';
    % a.S = 'weka.attributeSelection.FCBFSearch -D false -T -1.7976931348623157E308 -N -1';
     
     
    tempY = SY2MY(Y);
    t = weka.filters.supervised.attribute.AttributeSelection();
     
    %% handle options
    a.E = 'weka.attributeSelection.SymmetricalUncertAttributeSetEval';
    a.S = 'weka.attributeSelection.FCBFSearch -D false -T -1.7976931348623157E308 -N -1';
     
    tmp=wekaArgumentString({'-E',a.E});
    tmp=wekaArgumentString({'-S',a.S},tmp);
    t.setOptions(tmp);
     
    %% train classifier
    cat = wekaCategoricalData(X,tempY);
    t.setInputFormat(cat);
    newDat = weka.filters.Filter.useFilter(cat,t);
    clear cat;
     
    out.fList = [];
     
    numF = newDat.numAttributes()-2;
    for i = 0:numF
        str = newDat.attribute(i).name;
        str = str.toCharArray()';
        strArry = strread(str,'%s');
        out.fList(i+1) = str2num(strArry{2});
    end
    donc on appelant cet fonction il me lance un erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ??? Undefined variable "weka" or class "weka.filters.supervised.attribute.AttributeSelection".
     
    Error in ==> fsFCBF at 12
    t = weka.filters.supervised.attribute.AttributeSelection();
     
    Error in ==> AppelFonction at 14
    out =  fsFCBF(Xapp,Yapp)
    j'ai pas comris cet erreur et j'ai compris comment le corriger??

  2. #2
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Tu ne comprends pas l'anglais ?
    La variable weka n'existe pas dans la fonction.

    Voir la Quelle est la durée de vie des variables ?

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Par défaut
    weka désigne la classe weka qui se trouve dans weka.jar

  4. #4
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Et ? C'est quoi le rapport ?
    Comment veux-tu que ton programme MATLAB le sache ?

Discussions similaires

  1. [MySQL] 1er Class et erreur Undefined Variable
    Par tornade69 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 05/04/2013, 14h32

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