diff options
Diffstat (limited to 'FEAST/MIToolbox/demonstration_algorithms/IAMB.m')
-rw-r--r-- | FEAST/MIToolbox/demonstration_algorithms/IAMB.m | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/FEAST/MIToolbox/demonstration_algorithms/IAMB.m b/FEAST/MIToolbox/demonstration_algorithms/IAMB.m deleted file mode 100644 index 1011260..0000000 --- a/FEAST/MIToolbox/demonstration_algorithms/IAMB.m +++ /dev/null @@ -1,56 +0,0 @@ -function [cmb association] = IAMB( data, targetindex, THRESHOLD) -%function [cmb association] = IAMB( data, targetindex, THRESHOLD) -% -%Performs the IAMB algorithm of Tsmardinos et al. (2003) -%from "Towards principled feature selection: Relevancy, filters and wrappers" - -if (nargin == 2) - THRESHOLD = 0.02; -end - -numf = size(data,2); -targets = data(:,targetindex); -data(:,targetindex) = -10; - -cmb = []; - -finished = false; -while ~finished - for n = 1:numf - cmbVector = joint(data(:,cmb)); - if isempty(cmb) - association(n) = mi( data(:,n), targets ); - end - - if ismember(n,cmb) - association(n) = -10; %arbtirary large negative constant - else - association(n) = cmi( data(:,n), targets, cmbVector); - end - end - - [maxval maxidx] = max(association); - if maxval < THRESHOLD - finished = true; - else - cmb = [ cmb maxidx ]; - end -end - -finished = false; -while ~finished && ~isempty(cmb) - association = []; - for n = 1:length(cmb) - cmbwithoutn = cmb; - cmbwithoutn(n)=[]; - association(n) = cmi( data(:,cmb(n)), targets, data(:,cmbwithoutn) ); - end - - [minval minidx] = min(association); - if minval > THRESHOLD - finished = true; - else - cmb(minidx) = []; - end -end - |