IRootLab
An Open-Source MATLAB toolbox for vibrational biospectroscopy
demo_gridsearch_knn_k.m
Go to the documentation of this file.
1 %>@brief Grid search to obtain best k-NN's k
2 %>@ingroup demo
3 %>@file
4 %>
5 
6 %Dataset load
7 ds01 = load_data_she5trays();
8 u = cascade_stdhie();
9 u.blocks{2}.hierarchy = 2;
10 cascade_stdhie01 = u;
11 cascade_stdhie01 = cascade_stdhie01.boot();
12 out = cascade_stdhie01.use(ds01);
13 ds01_stdhie01 = out;
14 
15 %Creates classifier
16 clssr_knn01 = clssr_knn();
17 clssr_knn01.k = 1;
18 
19 u = sgs_crossval();
20 u.flag_group = 1;
21 u.flag_perclass = 0;
22 u.randomseed = 0;
23 u.flag_loo = 0;
24 u.no_reps = 10;
25 sgs_crossval01 = u;
26 
27 u = gridsearch();
28 u.sgs = sgs_crossval01;
29 u.clssr = clssr_knn01;
30 u.chooser = [];
31 u.postpr_test = [];
32 u.postpr_est = decider();
33 u.log_mold = {};
34 u.no_refinements = 1;
35 u.maxmoves = 1;
36 u.paramspecs = {'k', 1:2:79, 0};
37 gridsearch01 = u;
38 
39 %%
40 
41 % Calculation
42 
43 log_gridsearch01 = gridsearch01.use(ds01_stdhie01);
44 
45 %%
46 
47 % Visualization
48 
49 out = log_gridsearch01.extract_sovaluess();
50 sovalues_gridsearch01 = out{1, 1};
51 
52 u = vis_sovalues_drawplot();
53 u.dimspec = {[0 0], [1 2]};
54 u.valuesfieldname = 'rates';
55 u.ylimits = [];
56 u.xticks = [];
57 u.flag_star = 1;
58 u.xticklabels = {};
59 u.flag_hachure = 1;
60 vis_sovalues_drawplot01 = u;
61 
62 figure;
63 vis_sovalues_drawplot01.use(sovalues_gridsearch01);
64 title(sovalues_gridsearch01.title);
65 legend off;
66 maximize_window([], 2.5);
67 save_as_png([], 'irr_knn_k');