je débute en matlab, et j'ai un erreur que je comrend pas:
je fait run pour ce code tot d'abords:puis je fait appel à la 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
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;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 nomfile=['./FishierMatAppSelection1'] a=load(nomfile); Xapp=a.X; Yapp=a.Y; out = fsFCBF(Xapp,Yapp)
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
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
j'ai pas comris cet erreur et j'ai compris comment le corriger??
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)
Partager