⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mrmr_miq_d.m

📁 mRMR(min-redundancy max-relevance)的matlab程序
💻 M
字号:
function [fea] = mrmr_miq_d(d, f, K)% function [fea] = mrmr_miq_d(d, f, K)% % MIQ scheme according to MRMR%% By Hanchuan Peng% April 16, 2003%bdisp=0;nd = size(d,2);nc = size(d,1);t1=cputime;for i=1:nd,    t(i) = mutualinfo(d(:,i), f);end; fprintf('calculate the marginal dmi costs %5.1fs.\n', cputime-t1);[tmp, idxs] = sort(-t);fea_base = idxs(1:K);fea(1) = idxs(1);KMAX = min(1000,nd); %500 %20000idxleft = idxs(2:KMAX);k=1;if bdisp==1,fprintf('k=1 cost_time=(N/A) cur_fea=%d #left_cand=%d\n', ...      fea(k), length(idxleft));end;for k=2:K,   t1=cputime;   ncand = length(idxleft);   curlastfea = length(fea);   for i=1:ncand,      t_mi(i) = mutualinfo(d(:,idxleft(i)), f);       mi_array(idxleft(i),curlastfea) = getmultimi(d(:,fea(curlastfea)), d(:,idxleft(i)));      c_mi(i) = mean(mi_array(idxleft(i), :));    end;%   [tmp, fea(k)] = max(t_mi(1:ncand) ./ c_mi(1:ncand));   [tmp, fea(k)] = max(t_mi(1:ncand) ./ (c_mi(1:ncand) + 0.01));   tmpidx = fea(k); fea(k) = idxleft(tmpidx); idxleft(tmpidx) = [];   if bdisp==1,   fprintf('k=%d cost_time=%5.4f cur_fea=%d #left_cand=%d\n', ...      k, cputime-t1, fea(k), length(idxleft));   end;end;return;%===================================== function c = getmultimi(da, dt) for i=1:size(da,2),    c(i) = mutualinfo(da(:,i), dt);end;     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -