seo网站建设课程,商家联盟营销方案,石家庄集团公司网站建设,企业年报申报入口官网综述
除了神经网络模型以外#xff0c;树模型及基于树的集成学习模型是较为常用的效果较好的预测模型。我们以下先构建一个决策树模型。
决策树算法的优点如下#xff1a;1、 决策树易于理解和实现#xff0c;用户在学习过程中不需要了解过多的背景知识#xff0c;其能够…综述
除了神经网络模型以外树模型及基于树的集成学习模型是较为常用的效果较好的预测模型。我们以下先构建一个决策树模型。
决策树算法的优点如下1、 决策树易于理解和实现用户在学习过程中不需要了解过多的背景知识其能够直接体现数据的特点只要通过适当的解释用户能够理解决策树所表达的意义。2、 速度快计算量相对较小且容易转化成分类规则。只要沿着根节点向下一直走到叶子节点沿途分裂条件是唯一且确定的。决策树算法的缺点则主要是在处理大样本集时易出现过拟合现象降低分类的准确性。
在MATLAB 中为方便用户对决策树算法的使用MATLAB 中针对分类决策树和回归决策树分别封装了两个函数fitctree 和 fitrtree。由于分类决策树和回归决策树两者具有极大的相似性因此 fitctree 和 fitrtree 两者的使用方法也基本一致。
分类决策树 fitctree 函数在决策树进行分支时采用的是 CART 方法。其使用方法为 TREE fitrtreeTBLY其中TBL 为样本属性值矩阵Y 为样本标签。利用 MATLAB 中自带的统计3种鸢尾属样本数据 fisheriris。Iris数据集是常用的分类实验数据集由Fisher, 1936收集整理。Iris也称鸢尾花卉数据集是一类多重变量分析的数据集。可通过花萼长度花萼宽度花瓣长度花瓣宽度4个属性预测鸢尾花卉属于SetosaVersicolourVirginica三个种类中的哪一类。 Step 1: 打开matlab新建脚本
在MATLAB 中输入以下代码 运行后显示结果如图 Step 2: 查看属性
MATLAB 命令行窗口显示结果 分别单击上述 MATLAB 命令行窗口中的 Properties 和 Methods 超链接在窗口中分别显示如下所示。单击 Properties 超链接显示的类 Classification Tree 的所有可理解为生成决策树属性是指通过 fitctree 训练得到的树的所有属性部分属性值可在 fitctree 函数调用时进行定义如上述程序中的 PredictorNames描述各属性的名称等另外一部分则是对形成的树的具体属性描述如 NumNodes描述各属性的名称等。由于各属性是属于训练成的决策树因此当需要观测和调用属性值时可采用 t.XXX 调用其中 t 表示训练生成的树的名称XXX 表示属性名称。 单击 Methods 超链接显示的是类 Classification Tree可理解为生成的决策树的操作方法。 对于属性和方法的具体含义及使用方法可通过 help XXX 查询XXX 为属性或方法名。
Step 3: 对决策树进行剪枝操作
下面介绍决策树的剪枝方法Prune和观测方法View的基本使用方法。 其中t1 表示原决策树t2 表示剪枝后的新决策树‘level’ 表示按照层进行剪枝levelvalue 表示剪掉的层数。‘nodes’ 表示按照借点剪枝nodes 表示剪掉该结点后的所有枝。view(t2,‘Model’,‘graph’)表示以图形化方式显示 t2 决策树。
针对上述的决策树进行剪枝。在 MATLAB 命令行窗口中输入 经过裁剪后的决策树如下图所示 Step 4: 利用已建好的决策树进行预测
经过上述对决策树的剪枝等操作后就形成了一个具有使用价值的决策树在 MATLAB 命令行窗口中输入 运行后输出结果如下 上图表示通过决策树分类后属性值为[1 0.2 0.4 2] 的鸢尾属植物 setosa。
%% CART决策树算法Matlab实现
clear all;
close all;
clc;
load fisheriris % 载入样本数据
t fitctree(meas, species, PredictorNames, {SL SW PL PW}) % 定义四种属性显示名称
view(t) % 在命令行窗口用文本显示决策树结构
view(t, Mode, graph) % 图形显示决策树结构