/matbat/dep/HOML/SFBS_FS.m
https://code.google.com/p/matbat/ · MATLAB · 54 lines · 39 code · 10 blank · 5 comment · 1 complexity · 945ffca878d33c2906998a944cdc6d40 MD5 · raw file
- function SFBS_FS( )
- %SFFS_TEST Summary of this function goes here
- % Detailed explanation goes here
- load( 'medcine_ch' );
- %Initialize the 100 feature subset for SA stage.
- HammingLoss_msgg_mlknn = [];
- RankingLoss_msgg_mlknn = [];
- OneError_msgg_mlknn = [];
- Coverage_msgg_mlknn = [];
- Average_Precision_msgg_mlknn = [];
- FS_Final = [];
- for foldnum = 1:4
- test = (indices == foldnum);
- train = ~test;
- train_input = data(train,:);
- test_input = data(test,:);
- train_target = targets(train,:);
- test_target = targets(test,:);
- u_target = train_target;
- v_target = test_target;
- %??????2?1???2?????1?????
- num = size(train_input,1);
- [train_t,train_v] = crossvalind('HoldOut',num,0.33);
- train_t_input = train_input(train_t,:); %???
- train_v_input = train_input(train_v,:); %???
- train_t_target = train_target(train_t,:); %????
- train_v_target = train_target(train_v,:); %????
- [ FS_SFBS,CP ] = SFBS( T_SFBS,train_t_input,train_v_input,train_t_target,train_v_target);
- % din = find(FS_SFFS); %data index??????????????????
- din = FS_SFBS;
- FS_Final= [FS_Final;din];
- u = train_input(:,din); %????????feasub??????????
- v = test_input(:,din);
- [Prior,PriorN,Cond,CondN]=MLKNN_train(u,u_target',10,1);
- [HammingLoss,RankingLoss,OneError,Coverage,Average_Precision,Outputs,Pre_Labels]=MLKNN_test(u,u_target',v,v_target',10,Prior,PriorN,Cond,CondN);
- HammingLoss_msgg_mlknn(foldnum) = HammingLoss;
- RankingLoss_msgg_mlknn(foldnum) = RankingLoss;
- OneError_msgg_mlknn(foldnum) = OneError;
- Coverage_msgg_mlknn(foldnum) = Coverage;
- Average_Precision_msgg_mlknn(foldnum) = Average_Precision;
- end;