clc;clear;close all;ticload colon.mat data=colon; [n,m]=size(data);%%
%supervised
d=10;l=1;t=1;for i=1:n if data(i,m)==0data(i,m)=2; endenddata1=[];data2=[];for i=1:n if data(i,m)==1 data1(l,:)=data(i,1:m-1); l=l+1; else data2(t,:)=data(i,1:m-1); t=t+1; endendif t>l data1(l:t-1,1:m-1)=0;else data2(t:l-1,1:m-1)=0;end%computing Distance measures
for i=1: m-1 thisCol1=data1(:,i); thisCol2=data2(:,i); a6(i)=fTonimotoDist(thisCol1,thisCol2); end %sorting the distances
[A6,indA6]=sort(a6,'descend'); %Tonimoto
%selecting Threshold
datas6=data(:,indA6(1:d)); data6=[datas6 data(:,m)]; %%data6 classify%%tanimoto
[n,m]=size(data6);for k=1:ittest=data6(test_rows,:);train=data6(train_rows,:);xtest=test(:,1:m-1);ytest=test(:,m);xtrain=train(:,1:m-1);ytrain=train(:,m);[rforest, DT , sk ] = classificationa(xtest,xtrain,ytrain);[Arforest6(k), ADT6(k) , Ask6(k)] = allaccuracydata(rforest, DT , sk , ytest);endaverf6=mean(Arforest6);avedt6=mean(ADT6);avesk6=mean(Ask6);x6=[averf6, avedt6 , avesk6];disp('tanimoto'); disp(x6);
In this code d is the number of selected features(columns) so we use 10 features of the data(colon attached) to classify It, my question is suppose that we want to obtain the average of Arforest (averf6) once for d=10, once for d=20,for d=30,d=40 and d=50 and save the results of averf6 for each of them in one array(forexample a) to plot the array.
how can I save the results of these different runing the program, in one array based on changing in d [10 20 30 40 50], I have problem in this part, and also how to define d that have several values, should I define d as an array forexample d=[10,20,30,40,50]; ?
Thanks
Best Answer