欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

MAT之DT:DT实现根据乳腺肿瘤特征向量高精度预测肿瘤的是恶性还是良性

发布时间:2025/3/21 编程问答 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 MAT之DT:DT实现根据乳腺肿瘤特征向量高精度预测肿瘤的是恶性还是良性 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

MAT之DT:DT实现根据乳腺肿瘤特征向量高精度预测肿瘤的是恶性还是良性

 

 

目录

输出结果

代码设计


 

 

输出结果

 

代码设计

%DT:DT实现根据乳腺肿瘤特征向量高精度预测肿瘤的是恶性还是良性 load data.mat a = randperm(569); Train = data(a(1:500),:); Test = data(a(501:end),:);P_train = Train(:,3:end); T_train = Train(:,2);P_test = Test(:,3:end); T_test = Test(:,2);ctree = ClassificationTree.fit(P_train,T_train);view(ctree);               view(ctree,'mode','graph');T_sim = predict(ctree,P_test);count_B = length(find(T_train == 1)); count_M = length(find(T_train == 2));  rate_B = count_B / 500;               rate_M = count_M / 500;               total_B = length(find(data(:,2) == 1)); total_M = length(find(data(:,2) == 2)); number_B = length(find(T_test == 1));  number_M = length(find(T_test == 2)); number_B_sim = length(find(T_sim == 1 & T_test == 1)); number_M_sim = length(find(T_sim == 2 & T_test == 2)); disp(['病例总数:' num2str(569)...'  良性:' num2str(total_B)...'  恶性:' num2str(total_M)]); disp(['训练集病例总数:' num2str(500)...'  良性:' num2str(count_B)...'  恶性:' num2str(count_M)]); disp(['测试集病例总数:' num2str(69)...'  良性:' num2str(number_B)...'  恶性:' num2str(number_M)]); disp(['良性乳腺肿瘤确诊:' num2str(number_B_sim)...'  误诊:' num2str(number_B - number_B_sim)...'  确诊率p1=' num2str(number_B_sim/number_B*100) '%']); disp(['恶性乳腺肿瘤确诊:' num2str(number_M_sim)...'  误诊:' num2str(number_M - number_M_sim)...'  确诊率p2=' num2str(number_M_sim/number_M*100) '%']); disp(['乳腺肿瘤整体预测准确率:' num2str((number_M_sim/number_M*100+number_B_sim/number_B*100)/2) '%']);leafs = logspace(1,2,10);N = numel(leafs);err = zeros(N,1); for n = 1:Nt = ClassificationTree.fit(P_train,T_train,'crossval','on','minleaf',leafs(n)); err(n) = kfoldLoss(t); end plot(leafs,err); xlabel('叶子节点含有的最小样本数'); ylabel('交叉验证误差'); title('叶子节点含有的最小样本数对决策树性能的影响,误差越大性能越差—Jason niu')OptimalTree = ClassificationTree.fit(P_train,T_train,'minleaf',13);  view(OptimalTree,'mode','graph')resubOpt = resubLoss(OptimalTree) lossOpt = kfoldLoss(crossval(OptimalTree))resubDefault = resubLoss(ctree) lossDefault = kfoldLoss(crossval(ctree))[~,~,~,bestlevel] = cvLoss(ctree,'subtrees','all','treesize','min') cptree = prune(ctree,'Level',bestlevel); view(cptree,'mode','graph')resubPrune = resubLoss(cptree) lossPrune = kfoldLoss(crossval(cptree))

 

 


相关文章
DT:DT实现根据乳腺肿瘤特征向量高精度预测肿瘤的是恶性还是良性

总结

以上是生活随笔为你收集整理的MAT之DT:DT实现根据乳腺肿瘤特征向量高精度预测肿瘤的是恶性还是良性的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。