clear all; clc; [S1,S2,S3,S4,S5,S6,S7,S8,classity]=textread('Pima-training-set.txt','%f %f %f %f %f %f %f %f %s');%Pima-training-set.txt D=[S1 S2 S3 S4 S5 S6 S7 S8]; AttributName={ 'preg','plas','pres','skin','insu','mass','pedi','age'}; t=classregtree(D,classity,'names',AttributName); t=prune(t,'level',1);% j减掉最后5层 view(t); yfit1=eval(t,D,1); count1=0; for i=1:length(yfit1) if(strcmp(classity(i,1),yfit1(i,1))) count1=count1+1; end end fprintf('Accuracy of training is:%d \n',count1/length(yfit1)); costsum=zeros(10,1); %10_1,9_2... for k=1:10 cost=test(t,'cross',D,classity); costsum=costsum+cost; end costsum=costsum/10; i=1:10; plot(i,costsum,'-o');xlabel('交叉次数');ylabel('错误率'); title('Training-决策树k 倍交叉错误率曲线'); [T1,T2,T3,T4,T5,T6,T7,T8,kind]=textread('Pima-prediction-set.txt','%f %f %f %f %f %f %f %f %s'); D2=[T1 T2 T3 T4 T5 T6 T7 T8]; yfit=eval(t,D2,1); count=0; for i=1:length(yfit) if