IRootLab
An Open-Source MATLAB toolbox for vibrational biospectroscopy
demo_bagging_svm.m
Go to the documentation of this file.
1 %>@brief Bagging example using SVM classifier and drawing classification regions.
2 %>@file
3 %>@ingroup demo
4 %>
5 %> Uses a 2D artificial data to show the classification boundaries of component classifiers and of the overall
6 %> classifier.
7 %>
8 %> @image html test_bagging_result01.png
9 %> <center>Figure 1 - classification domains of 6 component classifiers, each one trained on 5% of the data points
10 %> randomly picked.</center>
11 %>
12 %> @image html test_bagging_result02.png
13 %> <center>Figure 1 - classification domain of classifier resulting from bagging the 6 classifiers represented in Figure 1.</center>
14 
15 fig_assert();
16 
17 %Dataset load
19 
20 clssr_svm01 = clssr_svm();
21 clssr_svm01.c = 2;
22 clssr_svm01.gamma = 1.2;
23 
24 o = sgs_randsub();
25 o.bites = .05;
26 o.type = 'balanced';
27 o.no_reps = 6;
28 o.randomseed = 323233;
29 o.flag_perclass = 1;
30 sgs03 = o;
31 
32 esag01 = esag_linear1();
33 
34 o = aggr_bag();
35 o.block_mold = clssr_svm01;
36 o.sgs = sgs03;
37 o.esag = esag01;
38 clssr = o;
39 
40 clssr = clssr.boot();
41 clssr = clssr.train(ds01);
42 
43 pars.x_range = [1, 6];
44 pars.y_range = [3, 8];
45 pars.x_no = 200;
46 pars.y_no = 200;
47 pars.ds_train = ds01;
48 pars.ds_test = [];
49 pars.flag_last_point = 1;
50 pars.flag_link_points = 0;
51 pars.flag_regions = 1;
52 
53 figure;
55 
56 
57 subdatasets = ds01.split_map(sgs03.get_obsidxs(ds01));
58 for i = 1:6
59  subplot(2, 3, i);
60  pars.ds_train = subdatasets(i);
61  clssr.blocks(i).block.draw_domain(pars);
62 end;
63 maximize_window([]);
64 save_as_png([], 'irr_demo_bagging_svm_components');
65 
66 figure;
67 pars.ds_train = ds01;
68 clssr.draw_domain(pars);
69 title('Aggregation of 6 SVM classifiers trained differently');
70 maximize_window([], 1);
71 save_as_png([], 'irr_demo_bagging_svm_aggr');
72 % disp(clssr.get_treedescription());
function maximize_window(in h, in aspectratio, in normalizedsize)
function boot(in o)
Resets classlabels and calls clssr::boot()
Estimation Aggregator - Linear Combination of datasets.
Definition: esag_linear1.m:2
function save_as_png(in h, in fn, in dpi)
Bagging ensemble.
Definition: aggr_bag.m:9
Random Sub-sampling.
Definition: sgs_randsub.m:5
function block()
Classifiers base class.
Definition: clssr.m:6
function colors_markers()
function draw_domain(in o, in parameters)
function load_data_userdata_nc2nf2()
function fig_assert()
Support Vector Machine Classifier using LibSVM.
Definition: clssr_svm.m:23
function train(in o, in data, in varargin)
Trains block.