comparison core/magnatagatune/sim_from_comparison_attach_weights.m @ 0:e9a9cd732c1e tip

first hg version after svn
author wolffd
date Tue, 10 Feb 2015 15:05:51 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:e9a9cd732c1e
1 function sim_from_comparison_attach_weights(filen)
2
3 global comparison;
4 global comparison_ids;
5 % load data from mat file
6 load(filen);
7
8 % ---
9 % get the similarity multigraph and remove cycles
10 % ---
11 cprint(2, 'creating graph')
12 Gm = ClipSimGraphMulti(comparison, comparison_ids);
13 Gm.remove_cycles_length2;
14
15 nTestSets = size(partBinTst, 2); % num cv bins
16 ntrainsizes = size(partBinTrn, 2); % num increases of training
17
18 % ---
19 % test sets
20 % ---
21 cprint(2, 'doing test sets')
22
23 % for all validations
24 for k = 1:size(partBinTst, 2);
25
26 % for each constraint tiplet
27 for i = 1:size(partBinTst{k},1)
28
29 % get weight for this edge from graph
30 [weight, ~, ~] = Gm.edge(partBinTst{k}(i,1), partBinTst{k}(i,2),...
31 partBinTst{k}(i,3));
32
33 if isempty(weight) || weight == 0
34 error 'inconsistent similarity data';
35 end
36
37 % save into same data structure
38 partBinTst{k}(i,4) = weight;
39 end
40 end
41
42 % ---
43 % train sets
44 % ---
45
46 cprint(2, 'doing train sets')
47 % for all validations
48 for k = 1:size(partBinTrn, 1);
49
50 % for all training sizes
51 for m = 1:size(partBinTrn, 2);
52
53 % for each constraint tiplet
54 for i = 1:size(partBinTrn{k,m},1)
55
56 % get weight for this edge from graph
57 [weight, ~, ~] = Gm.edge(partBinTrn{k,m}(i,1), partBinTrn{k,m}(i,2),...
58 partBinTrn{k,m}(i,3));
59
60 if isempty(weight) || weight == 0
61 error 'inconsistent similarity data';
62 end
63
64 % save into same data structure
65 partBinTrn{k,m}(i,4) = weight;
66 end
67 end
68 end
69
70 % ---
71 % Notrain sets
72 % ---
73 cprint(2, 'doing Notrain sets')
74 % for all validations
75 for k = 1:size(partBinNoTrn, 1);
76
77 % for all training sizes
78 for m = 1:size(partBinNoTrn, 2);
79
80 % for each constraint tiplet
81 for i = 1:size(partBinNoTrn{k,m},1)
82
83 % get weight for this edge from graph
84 [weight, ~, ~] = Gm.edge(partBinNoTrn{k,m}(i,1), partBinNoTrn{k,m}(i,2),...
85 partBinNoTrn{k,m}(i,3));
86
87 if isempty(weight) || weight == 0
88 error 'inconsistent similarity data';
89 end
90 % save into same data structure
91 partBinNoTrn{k,m}(i,4) = weight;
92 end
93 end
94 end
95
96 % save results to mat file
97 save(sprintf('%s_weighted.mat',filen), 'partBinTst', 'partBinTrn', 'partBinNoTrn');