机器学习十大算法之Matlab-5决策树

  • 决策树
    • Matlab代码
      • 例子1-fitctree,三分类
      • 例子2-fitctree,二分类

决策树

Matlab代码

例子1-fitctree,三分类

  • 利用 MATLAB 中自带的鸢尾属植物样本数据 fisheriris, 其属性分别为花萼 长度 (SL)、花萼宽度 (SW)、花瓣长度 (PL)、花瓣宽度 (PW), 标签分别为“setosa”(山鸢尾)、“versicolor”(杂色鸢尾) 和“virginica”(弗吉尼亚鸢尾). 数据集中共包含 150组数据信息, 每一类别植物有 50 组数据. 利用 MATLAB 自带的分类决策树函数 fitctree构建决策树, 并对新样本 [1, 0.2, 0.4, 2] 的类别进行预测。
%CART决策树算法MATLAB实现
%用决策树算法对鸢尾属植物数据集进行分类和预测
clear all;
close all;
clc;load fisheriris;   %载入样本数据
t = fitctree(meas,species,'PredictorNames',{'SL','SW','PL','PW'});  %定义4种属性显示名称view(t); %在命令窗口中用文本显示决策树结构
view(t,'Mode','graph');  %图形显示决策树结构cls = predict(t,[1 0.2 0.4 2]);

例子2-fitctree,二分类

  • 用 MATLAB 自带的 fitctree 函数构建决策树, 对电离层数据集 (IonosphereData Set) 进行分类. 该数据集需要根据给定的电离层中的自由电子的雷达回波来预测 大气的结构. 它是一个二分类问题, 每个类的观察值数量不均等, 一共有 351 个观察值,34 个 (17 对雷达回波数据) 输入变量和 1 个输出变量 (两个类: g 表示好, b 表示坏)。
%对电离层数据集(Ionosphere Dataset)进行分类
clc;
close all;
clear all;load ionosphere; %载入电离层数据集
n = size(X,1); %样本个数
rng(1); %可重复出现
indices = crossvalind('KFold', n, 5);
%用5折分类法将样本随机分为5部分
i=1; %1份进行测试,4份用来训练
test = (indices == i);
train = ~test;
X_train = X(train, :); %训练集
Y_train = Y(train, :); %训练集标签
X_test = X(test, :); %测试集
Y_test = Y(test, :); %测试集标签%构建CART算法分类树
cart_tree=fitctree(X_train,Y_train);view(cart_tree); %显示决策树的文字描述
view(cart_tree,'Mode','graph'); %生成树图rules_num=(cart_tree.IsBranchNode==0);
rules_num=sum(rules_num); %求取规则数量
disp(['规则数: ' num2str(rules_num)]);c_result = predict(cart_tree,X_test); %使用测试样本进行验证
c_result = cell2mat(c_result);
Y_test = cell2mat(Y_test);
c_result = (c_result==Y_test);
c_length = size(c_result,1); %统计准确率
c_rate = (sum(c_result))/c_length*100;
disp(['准确率: ' num2str(c_rate)]);

机器学习十大算法之Matlab-5决策树相关推荐

  1. 机器学习十大算法之-CART分类决策树、回归树和模型树

    转载(http://blog.163.com/zhoulili1987619@126/blog/static/35308201201542731455261/) Classification And ...

  2. 新手入门机器学习十大算法

    新手入门机器学习十大算法 2018年9月17日 磐石 TensorFlowNews, 机器学习 0 在机器学习的世界中,有一种被称为"无免费午餐"的定理. 它意在说明没有哪种算法能 ...

  3. 机器学习十大算法汇总

    机器学习十大算法汇总 目录: 机器学习十大算法汇总 前言: 机器学习的十大算法: 总结 前言: 什么是机器学习算法? 它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它 ...

  4. 机器学习十大算法之Matlab-9降维算法

    机器学习十大算法之Matlab-9降维算法 降维算法 PCA算法 对数据集进行PCA后再重构 PCA降维-Matlab代码 例子1-系统pca做降维pca_mat.m 例子2-系统pca对简单数据集降 ...

  5. cart算法_机器学习十大算法之一——决策树CART算法

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第23篇文章,我们今天分享的内容是十大数据挖掘算法之一的CART算法. CART算法全称是Classification ...

  6. 五分钟了解机器学习十大算法

    作者 | Fahim ul Haq    译者 | 刘志勇 策划 | 赵钰莹 编辑 | 程序员大白公众号 仅作学术交流,如有侵权,请联系删文 本文为有志于成为数据科学家或对此感兴趣的读者们介绍最流行的 ...

  7. 机器学习-机器学习十大算法

    在机器学习的世界中,有一种被称为"无免费午餐"的定理. 它意在说明没有哪种算法能够完美地解决每个问题,特别是对于监督学习问题.例如,神经网络不会总是比决策树要好,反之亦然.往往是有 ...

  8. 机器学习算法_五分钟了解机器学习十大算法

    本文为有志于成为数据科学家或对此感兴趣的读者们介绍最流行的机器学习算法. 机器学习是该行业的一个创新且重要的领域.我们为机器学习程序选择的算法类型,取决于我们想要实现的目标. 现在,机器学习有很多算法 ...

  9. 机器学习十大算法(二)

    文章来源:https://www.dezyre.com/article/top-10-machine-learning-algorithms/202 本人自行翻译,如有错误,还请指出.后续会继续补充实 ...

最新文章

  1. Linux下C++中可使用的3种Hook方法
  2. Mac下sublime text2 解决中文乱码
  3. 二十九、Pyspider爬取v2Ex网的python帖子
  4. Regex pattern in openresty
  5. 删数问题(信息学奥赛一本通-T1321)
  6. mips语言实现 f(n) = f(n-1) + 2*f(n-2) + 3*f(n-3)
  7. 3个概念,入门 Vue 组件开发
  8. 浅显理解*nix下的守护进程机制及fork函数
  9. 清除eclipse当前登录的SVN账户
  10. 使用Nativefier将web页面打包为桌面应用
  11. c语言如何框出视频或图像中的车辆,视频图像中的车辆检测跟踪和分类
  12. 破解内网火狐所保存的邮箱账号和密码
  13. mysql emoji表情_mysql utf8mb4与emoji表情
  14. 自我觉察日志——9.17 (为什么老想买东西?)
  15. 4个入口8条光缆!我们这样与世界连接
  16. 基于参考辐射源/定标的校正算法
  17. JavaScript IIFE
  18. 鸿蒙系统平板界面,首发预装鸿蒙OS!华为MatePad Pro 2系统界面曝光
  19. 仿真工具ABAQUS
  20. 人工智能:第十章 机器视觉

热门文章

  1. 《14天动手学深度学习》——循环神经网络进阶
  2. 计算机老师开场白试讲视频,教师讲课开场白
  3. 从《大秦帝国》而论人才
  4. 更优雅的Wordpress主题模板_WP中文主题_zibll主题_子比主题钻石代理会员
  5. C语言sizeof用法
  6. QQ文件下载后保存路径
  7. asp毕业设计——基于asp+sqlserver的电子论坛系统设计与实现(毕业论文+程序源码)——电子论坛系统
  8. Python 列表——冒泡排序
  9. 华为方舟编译器OpenArkCompiler编译
  10. Java部署本地项目到远端服务器(腾讯云轻量级服务器)