function [AUP]=voter2_MAP(org_mat,kernel,folds) %[AUP]=voter2_MAP(org_mat,kernel,folds) %just uses 1 and 0 in index/org_mat %stratified kernel=abs(kernel); kernel(isnan(kernel))=0; path(path,'/home/jesse/psdstuff'); org_mat=logical(org_mat); org_mat2=~org_mat; [a,b]=find(org_mat); [a2,b2]=find(org_mat2); for i=1:folds test_org_mat{i}=org_mat-sparse(a(i:(folds):length(a)),b(i:(folds):length(a)),1,size(org_mat,1),size(org_mat,2)); end for i=1:folds test_org_mat2{i}=org_mat2-sparse(a2(i:(folds):length(a2)),b2(i:(folds):length(a2)),1,size(org_mat2,1),size(org_mat2,2)); end test_org_mat=cell2mat(test_org_mat); test_org_mat2=cell2mat(test_org_mat2); test_org_mat2=test_org_mat2./repmat(sum(test_org_mat2)./sum(test_org_mat),size(test_org_mat,1),1); sumin=(kernel*test_org_mat); sumout=(kernel*test_org_mat2); sumall=(repmat(sum(kernel),size(test_org_mat,2),1))'; predicts=sumin-sumout; %predicts(logical(test_org_mat))=nan; GOfilter=repmat(org_mat,1,folds); for i=1:size(GOfilter,2) scores=predicts(:,i); index=GOfilter(:,i); scores(logical(test_org_mat(:,i) | test_org_mat2(:,i)))=[]; index(logical(test_org_mat(:,i) | test_org_mat2(:,i)))=[]; [prec,tpr,MAP] = prec_rec2(scores,index); AUP(i)=MAP; end AUP=reshape(AUP,size(org_mat,2),folds); AUP=nanmean(AUP,2);