Mercurial > hg > camir-aes2014
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/magnatagatune/sim_from_comparison_attach_weights.m Tue Feb 10 15:05:51 2015 +0000 @@ -0,0 +1,97 @@ +function sim_from_comparison_attach_weights(filen) + +global comparison; +global comparison_ids; +% load data from mat file +load(filen); + +% --- +% get the similarity multigraph and remove cycles +% --- +cprint(2, 'creating graph') +Gm = ClipSimGraphMulti(comparison, comparison_ids); +Gm.remove_cycles_length2; + +nTestSets = size(partBinTst, 2); % num cv bins +ntrainsizes = size(partBinTrn, 2); % num increases of training + +% --- +% test sets +% --- +cprint(2, 'doing test sets') + +% for all validations +for k = 1:size(partBinTst, 2); + + % for each constraint tiplet + for i = 1:size(partBinTst{k},1) + + % get weight for this edge from graph + [weight, ~, ~] = Gm.edge(partBinTst{k}(i,1), partBinTst{k}(i,2),... + partBinTst{k}(i,3)); + + if isempty(weight) || weight == 0 + error 'inconsistent similarity data'; + end + + % save into same data structure + partBinTst{k}(i,4) = weight; + end +end + +% --- +% train sets +% --- + +cprint(2, 'doing train sets') +% for all validations +for k = 1:size(partBinTrn, 1); + + % for all training sizes + for m = 1:size(partBinTrn, 2); + + % for each constraint tiplet + for i = 1:size(partBinTrn{k,m},1) + + % get weight for this edge from graph + [weight, ~, ~] = Gm.edge(partBinTrn{k,m}(i,1), partBinTrn{k,m}(i,2),... + partBinTrn{k,m}(i,3)); + + if isempty(weight) || weight == 0 + error 'inconsistent similarity data'; + end + + % save into same data structure + partBinTrn{k,m}(i,4) = weight; + end + end +end + +% --- +% Notrain sets +% --- +cprint(2, 'doing Notrain sets') +% for all validations +for k = 1:size(partBinNoTrn, 1); + + % for all training sizes + for m = 1:size(partBinNoTrn, 2); + + % for each constraint tiplet + for i = 1:size(partBinNoTrn{k,m},1) + + % get weight for this edge from graph + [weight, ~, ~] = Gm.edge(partBinNoTrn{k,m}(i,1), partBinNoTrn{k,m}(i,2),... + partBinNoTrn{k,m}(i,3)); + + if isempty(weight) || weight == 0 + error 'inconsistent similarity data'; + end + % save into same data structure + partBinNoTrn{k,m}(i,4) = weight; + end + end +end + +% save results to mat file +save(sprintf('%s_weighted.mat',filen), 'partBinTst', 'partBinTrn', 'partBinNoTrn');