f@0
|
1 function [] = classify(db, optt, preffix)
|
f@0
|
2
|
f@0
|
3 cond = cellstr(['none '; 'fault']);
|
f@0
|
4
|
f@0
|
5 for ii=1:length(cond)
|
f@0
|
6
|
f@0
|
7 [train_set,test_set] = createFolds(cond{ii});
|
f@0
|
8 train_set = find(train_set)';
|
f@0
|
9 test_set = find(test_set)';
|
f@0
|
10
|
f@0
|
11 [dev_err_grid,C_grid,gamma_grid] = ...
|
f@0
|
12 svm_adaptive_param_search(db,train_set,[],optt);
|
f@0
|
13
|
f@0
|
14 [dev_err,ind] = min(mean(dev_err_grid{end},2));
|
f@0
|
15 C = C_grid{end}(ind);
|
f@0
|
16 gamma = gamma_grid{end}(ind);
|
f@0
|
17
|
f@0
|
18 optt1 = optt;
|
f@0
|
19 optt1.C = C;
|
f@0
|
20 optt1.gamma = gamma;
|
f@0
|
21
|
f@0
|
22 model = svm_train(db,train_set,optt1);
|
f@0
|
23 labels = svm_test(db,model,test_set);
|
f@0
|
24 err = classif_err(labels,test_set,db.src);
|
f@0
|
25
|
f@0
|
26 fprintf('dev err = %f, test err = %f\n\n',dev_err,err);
|
f@0
|
27
|
f@0
|
28 % dummy renaming of variables
|
f@0
|
29 id = test_set';
|
f@0
|
30 true_label = kron((1:10), ones(1, 100));
|
f@0
|
31 true_label = true_label(test_set)';
|
f@0
|
32 pred_label = labels';
|
f@0
|
33
|
f@0
|
34 % saving results in table
|
f@0
|
35 results = table(id, true_label, pred_label)
|
f@0
|
36
|
f@0
|
37 run_name = [preffix, cond{ii}];
|
f@0
|
38
|
f@0
|
39 global results_dir;
|
f@0
|
40 [s, mess, messid] = mkdir(results_dir);
|
f@0
|
41 if(s ~= 1) exit; end;
|
f@0
|
42
|
f@0
|
43 save([results_dir, run_name, '.mat'],'dev_err','err','C','gamma', 'labels', 'results');
|
f@0
|
44 writetable(results, [results_dir, run_name, '_results.csv'])
|
f@0
|
45
|
f@0
|
46 end;
|
f@0
|
47
|