1. %DTDT实现根据乳腺肿瘤特征向量高精度预测肿瘤的是恶性还是良性
  2. load data.mat
  3.  
  4. a = randperm(569);
  5. Train = data(a(1:500),:);
  6. Test = data(a(501:end),:);
  7.  
  8. P_train = Train(:,3:end);
  9. T_train = Train(:,2);
  10.  
  11. P_test = Test(:,3:end);
  12. T_test = Test(:,2);
  13.  
  14. ctree = ClassificationTree.fit(P_train,T_train);
  15.  
  16. view(ctree);
  17. view(ctree,'mode','graph');
  18.  
  19. T_sim = predict(ctree,P_test);
  20.  
  21. count_B = length(find(T_train == 1));
  22. count_M = length(find(T_train == 2));
  23. rate_B = count_B / 500;
  24. rate_M = count_M / 500;
  25. total_B = length(find(data(:,2) == 1));
  26. total_M = length(find(data(:,2) == 2));
  27. number_B = length(find(T_test == 1));
  28. number_M = length(find(T_test == 2));
  29. number_B_sim = length(find(T_sim == 1 & T_test == 1));
  30. number_M_sim = length(find(T_sim == 2 & T_test == 2));
  31. disp(['病例总数:' num2str(569)...
  32. ' 良性:' num2str(total_B)...
  33. ' 恶性:' num2str(total_M)]);
  34. disp(['训练集病例总数:' num2str(500)...
  35. ' 良性:' num2str(count_B)...
  36. ' 恶性:' num2str(count_M)]);
  37. disp(['测试集病例总数:' num2str(69)...
  38. ' 良性:' num2str(number_B)...
  39. ' 恶性:' num2str(number_M)]);
  40. disp(['良性乳腺肿瘤确诊:' num2str(number_B_sim)...
  41. ' 误诊:' num2str(number_B - number_B_sim)...
  42. ' 确诊率p1=' num2str(number_B_sim/number_B*100) '%']);
  43. disp(['恶性乳腺肿瘤确诊:' num2str(number_M_sim)...
  44. ' 误诊:' num2str(number_M - number_M_sim)...
  45. ' 确诊率p2=' num2str(number_M_sim/number_M*100) '%']);
  46. disp(['乳腺肿瘤整体预测准确率:' num2str((number_M_sim/number_M*100+number_B_sim/number_B*100)/2) '%']);
  47.  
  48. leafs = logspace(1,2,10);
  49.  
  50. N = numel(leafs);
  51.  
  52. err = zeros(N,1);
  53. for n = 1:N
  54. t = ClassificationTree.fit(P_train,T_train,'crossval','on','minleaf',leafs(n));
  55.  
  56. err(n) = kfoldLoss(t);
  57. end
  58. plot(leafs,err);
  59. xlabel('叶子节点含有的最小样本数');
  60. ylabel('交叉验证误差');
  61. title('叶子节点含有的最小样本数对决策树性能的影响,误差越大性能越差—Jason niu')
  62.  
  63. OptimalTree = ClassificationTree.fit(P_train,T_train,'minleaf',13);
  64. view(OptimalTree,'mode','graph')
  65.  
  66. resubOpt = resubLoss(OptimalTree)
  67. lossOpt = kfoldLoss(crossval(OptimalTree))
  68.  
  69. resubDefault = resubLoss(ctree)
  70. lossDefault = kfoldLoss(crossval(ctree))
  71.  
  72. [~,~,~,bestlevel] = cvLoss(ctree,'subtrees','all','treesize','min')
  73. cptree = prune(ctree,'Level',bestlevel);
  74. view(cptree,'mode','graph')
  75.  
  76. resubPrune = resubLoss(cptree)
  77. lossPrune = kfoldLoss(crossval(cptree))

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

  1. RF:RF实现根据乳腺肿瘤特征向量高精度(better)预测肿瘤的是恶性还是良性—Jason niu

    %RF:RF实现根据乳腺肿瘤特征向量高精度(better)预测肿瘤的是恶性还是良性 load data.mat a = randperm(569); Train = data(a(1:500),:); ...

  2. SVM:SVM之Classification根据已有大量数据集案例,输入已有病例的特征向量实现乳腺癌诊断高准确率预测—Jason niu

    load BreastTissue_data.mat n = randperm(size(matrix,1)); train_matrix = matrix(n(1:80),:); train_lab ...

  3. TF之RNN:基于顺序的RNN分类案例对手写数字图片mnist数据集实现高精度预测—Jason niu

    import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_dat ...

  4. 入门系列之Scikit-learn在Python中构建机器学习分类器

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由信姜缘 发表于云+社区专栏 介绍 机器学习是计算机科学.人工智能和统计学的研究领域.机器学习的重点是训练算法以学习模式并根据数据进行预 ...

  5. DIV+CSS中标签dl dt dd常用的用法

    转自:http://smallpig301.blog.163.com/blog/static/9986093201010262499229/ < dl>< /dl>用来创建一个 ...

  6. HTML 列表 <ol><ul><li><dl><dt><dd>

    <ol>标签-有序列表 定义和用法: <ol>标签定义有序列表. HTML 与 XHTML 之间的差异 在 HTML 4.01 中,ol 元素的 "compact&q ...

  7. dl dt dd定义

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. html dl dt dd标签元素语法结构与使用

    dl dt dd认识及dl dt dd使用方法 <dl> 标签用于定义列表类型标签. dl dt dd目录 dl dt dd介绍 结构语法 dl dt dd案例 dl dt dd总结 一. ...

  9. (转载)dl,dt,dd标记在网页中要充分利用

    (转载)http://www.jzxue.com/html/css/264I6DG6.html 我们在制作网页过程中用到列表时一般会使用<ul>或者<ol>标签,很少用刑< ...

随机推荐

  1. vmware 下找不到ifcfg-eth0的问题

    找不大 eth0网卡,也就连不上网络,症状是ifconfig以后只现实lo,不显示eth0 ifconfig,显示的ip是ifcfg-lo的ip 解决办法 . 拷贝cp ifcfg-lo ifcfg- ...

  2. iOS 横屏模态进入下一级界面, 竖屏退出

    首先  Deployment Info 设置 除了  Upside Down 都勾选 然后,在AppDelegate.h 文件中 添加属性 @property(nonatomic,assign)NSI ...

  3. 使用Node.js+Hexo+Github搭建个人博客(续)

    一.写在前面 在我的上一篇博客<使用Nodejs+Hexo+Github搭建个人博客>中,已经介绍了如何使用 Hexo 在 Github Pages 上搭建一个简单的个人博客.该篇博文将在 ...

  4. Memcached常用语法与java连接服务

    memcached常用语法及java使用方式 Author:SimpleWu Memcached 存储命令 Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中 ...

  5. Nginx详解五:Nginx基础篇之HTTP请求

    http请求 如今的http请求已经不是每一次请求都进行一次三次握手,可以在请求与相应之后,客户端和服务端不断的发送FIN和ACK包来保持连接的状态,即:长连接 HTTP请求建立在一次TCP连接基础上 ...

  6. JavaScript 高级程序设计第二版

    20.4 部署 20.4.1 构建 构建过程始于在源控制中定义用于存储文件的逻辑结构.最好避免使用一个文件存放所有的JavaScript,遵循以下面向对象语言中的典型模式:将每个对象或自定义了类别分别 ...

  7. C# 读取sqlite文件

    class Program { static void Main(string[] args) { getsqliteData(); } public static void getsqliteDat ...

  8. 20165206 2017-2018-2 《Java程序设计》第五周学习总结

    20165206 2017-2018-2 <Java程序设计>第五周学习总结 教材学习内容总结 内部类:支持在一个类中定义另一个类的类. 外嵌类:包含内部类的类,称为内部类的外嵌类. 匿名 ...

  9. python练习册0006

    第 0006 题:你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认为每篇日记最重要的词. import re import os def get_li ...

  10. K/3 Cloud Web API接口说明文

    K/3 Cloud Web API接口说明文 目的 三方集成,提供第三方系统与Cloud集成调用接口. 技术实现 HTTP + Json 提供标准接口 编号 名称 说明 1 Kingdee.BOS.W ...