主要内容

TreeBagger类

袋决策树

描述

TreeBagger包的整体决策树分类或回归。装袋代表引导聚合。合奏的每棵树生长在一个独立输入数据引导的复制品。观察不包括在这个副本是这棵树的“包”。

TreeBagger依赖于ClassificationTreeRegressionTree功能越来越多个人树。特别是,ClassificationTreeRegressionTree接受的数量特征随机选择分割作为一个可选的输入参数为每个决定。也就是说,TreeBagger实现了随机森林算法[1]

对于回归问题,TreeBagger万博1manbetx支持的意思,分位数回归(即分位数回归森林[2])。

建设

TreeBagger 创建决策树的袋子

对象的功能

附加 添加新树合奏
紧凑的 紧凑的决策树
错误 错误(错误分类概率或MSE)
fillprox 训练数据的距离矩阵
growTrees 培养更多的树木和增加合奏
保证金 分类保证金
mdsprox 多维标度的距离矩阵
meanMargin 意思是分类保证金
oobError Out-of-bag错误
oobMargin Out-of-bag利润率
oobMeanMargin Out-of-bag意味着利润
oobPredict 整体预测out-of-bag观察
oobQuantileError Out-of-bag分位数回归树的袋子的损失
oobQuantilePredict 分位数预测out-of-bag观察从袋回归树
partialDependence 计算部分依赖
plotPartialDependence 创建部分依赖图(PDP)和个人条件期望(ICE)情节
预测 使用的袋装决策树预测反应
quantileError 使用袋回归树分位数的损失
quantilePredict 预测响应使用袋分位数回归树

属性

一会

包含类名称的单元阵列的响应变量Y。这个属性是空的回归树。

ComputeOOBPrediction

一个逻辑标志指定out-of-bag预测训练观察是否应该计算。默认值是

如果这个标志真正的可用以下属性:

  • OOBIndices

  • OOBInstanceWeight

如果这个标志真正的以下方法可以调用:

  • oobError

  • oobMargin

  • oobMeanMargin

ComputeOOBPredictorImportance

一个逻辑标志指定是否应该计算out-of-bag估计变量的重要性。默认值是。如果这个标志真正的,然后ComputeOOBPrediction是真的。

如果这个标志真正的可用以下属性:

  • OOBPermutedPredictorDeltaError

  • OOBPermutedPredictorDeltaMeanMargin

  • OOBPermutedPredictorCountRaiseMargin

成本

方阵,成本(i, j)是一个指向类分类的成本j如果它真正的类(即。,the rows correspond to the true class and the columns correspond to the predicted class). The order of the rows and columns of成本对应于类的顺序一会。行和列的数量成本在响应中是独特的类的数量。

这个属性是:

  • 只读

  • 空([]回归树的集合体

DefaultYfit

返回的默认值预测oobPredict。的DefaultYfit属性控制预报值返回时预测是不可能的。例如,当oobPredict需要为一个袋子中观察预测所有的树木。

  • 分类,你可以设定这个属性“MostPopular”。如果你选择“MostPopular”(默认),属性值成为最有可能的类的名称在训练数据。如果你选择的袋子中观察被排除在计算out-of-bag错误和保证金。

  • 对于回归,可以将此属性设置为任何数字标量。默认值是为训练数据响应的均值。如果你设定这个属性的袋子中观察被排除在计算out-of-bag错误和保证金。

DeltaCriterionDecisionSplit

数字数组大小为1×-据nvar求和分割标准的变化对每个变量分裂,平均在整个乐团的种植树木。

InBagFraction

分数的观察与替代每个随机选择引导复制品。每个副本的大小脑袋×InBagFraction,在那里脑袋是观察在训练集的数量。默认值是1。

MergeLeaves

逻辑标志指定相同的决策树的叶子父母是否为分裂合并,不降低总风险。默认值是

方法

方法使用的树木。可能的值是“分类”分类乐团,和“回归”回归集合体。

MinLeafSize

最小数量的观察/树叶。默认情况下,MinLeafSize5是1的分类和回归。决策树训练的MinParent值设置等于2 * MinLeafSize

NumTrees

标量值等于整体决策树的数量。

NumPredictorSplit

数字数组大小为1×-据nvar,每个元素提供了数量的分歧在这个预测求和所有树木。

NumPredictorsToSample

数量的预测或特征变量选择随机分割为每一个决定。默认情况下,NumPredictorsToSample等于根号的总数为分类变量,变量的总数的三分之一,回归。

OOBIndices

逻辑数组的大小脑袋——- - - - - -NumTrees,在那里脑袋是在训练数据和观测的数量NumTrees是树木的数量。一个真正的值(,j)元素表明观察是out-of-bag树j。换句话说,观察没有选择的训练数据用于种植的树吗j

OOBInstanceWeight

数值数组的大小脑袋1包含树的数量用于计算每个观测out-of-bag响应。脑袋在训练数据的观测数量用于创建。

OOBPermutedPredictorCountRaiseMargin

数字数组大小为1×-据nvar包含一个测量变量的重要性为每个预测变量(特征)。对于任何变量,测量的区别是提高利润的数量和降低利润的数量如果这个变量的值是整个out-of-bag观测排列。这种方法计算每棵树,然后平均在整个合奏和除以标准差整个合奏。这个属性是空的回归树。

OOBPermutedPredictorDeltaError

数字数组大小为1×-据nvar包含一个测量每个预测变量的重要性(特性)。对于任何变量,预测误差的措施是增加如果这个变量的值是整个out-of-bag观测排列。这种方法计算每棵树,然后平均在整个合奏和除以标准差整个合奏。

OOBPermutedPredictorDeltaMeanMargin

数字数组大小为1×-据nvar包含一个测量每个预测变量的重要性(特性)。任何变量的措施是减少分类保证金如果这个变量的值是整个out-of-bag观测排列。这种方法计算每棵树,然后平均在整个合奏和除以标准差整个合奏。这个属性是空的回归树。

OutlierMeasure

数值数组的大小脑袋1,脑袋是观测的数量在训练数据,包含每个观察离群值的措施。

之前

每个类的先验概率数值向量。元素的顺序之前对应于类的顺序一会

这个属性是:

  • 只读

  • 空([]回归树的集合体

接近

一个数字矩阵的大小脑袋——- - - - - -脑袋,在那里脑袋是观测的数量在训练数据,包含措施之间的近距离观察。对于任意两个观察,他们的距离被定义为树木的一部分,这些观察相同的叶子。这是一个对称矩阵与对角1 s,非对角元素从0到1。

修剪

修剪财产是真的如果决策树修剪,如果他们不是假的。修剪决策树不建议集合体。默认值是错误的。

SampleWithReplacement

逻辑标志指定如果每个决策树数据采样与更换。此属性真正的如果TreeBagger样本数据和替换否则。默认值是真正的

TreeArguments

单元阵列的理由fitctreefitrtree。使用这些参数TreeBagger当种植新树。

一个细胞大小的数组NumTrees1包含的树木。

SurrogateAssociation

一个矩阵的大小据nvar——- - - - - -据nvar变量协会预测措施,平均在整个乐团的种植树木。如果你变得合奏“代孕”“上”每棵树,这个矩阵是满了协会的预测措施平均代理分裂。如果你变得合奏“代孕”“关闭”(默认),SurrogateAssociation是斜的。

PredictorNames

一个单元阵列包含预测变量的名称(特性)。TreeBagger把这些名字的可选的“名字”参数。默认的名字x1的,“x2”等。

W

数字的权重向量脑袋,在那里脑袋是观测的数量(行)在训练数据。TreeBagger使用这些权重增长的每一个决策树。默认的W(脑袋,1)

X

一个表或数字矩阵的大小脑袋——- - - - - -据nvar,在那里脑袋观察(行)的数量和吗据nvar是变量的数量(列)在训练数据。如果你训练使用预测表值,合奏X是一张桌子。如果你训练的整体使用矩阵的预测价值,X是一个矩阵。这个属性包含预测(或特性)值。

Y

一个大小脑袋响应数据的数组。的元素Y对应的行X。的分类,Y是真正的集合类标签。标签可以是任何分组变量,也就是说,一个数字或逻辑向量,字符矩阵,字符串数组,单元阵列特征向量,或分类向量。TreeBagger将标签转换为单元阵列的特征向量分类。对于回归,Y是一个数值向量。

例子

全部折叠

加载费雪的虹膜数据集。

负载fisheriris

火车一袋装分类树的整个数据集。指定使用50弱的学习者。存储袋的每棵树的观测。

rng (1);%的再现性Mdl = TreeBagger(50、量、物种,“OOBPrediction”,“上”,“方法”,“分类”)
Mdl = TreeBagger合奏与50袋装决策树:训练X: [150 x4)培训Y: [150 x1)方法:分类NumPredictors: 4 NumPredictorsToSample: 2 MinLeafSize: 1 InBagFraction: 1 SampleWithReplacement: 1 ComputeOOBPrediction: 1 ComputeOOBPredictorImportance: 0距离:[]一会:“setosa”“杂色的”“virginica”属性,方法

Mdl是一个TreeBagger合奏。

Mdl.Trees商店50-by-1细胞向量训练分类树(CompactClassificationTree模型对象)组成。

画一个图的第一个训练有素的分类树。

视图(Mdl.Trees {1},“模式”,“图”)

图分类树查看器包含一个坐标轴对象和其他对象类型uimenu uicontrol。坐标轴对象包含21线类型的对象,文本。

默认情况下,TreeBagger深树生长。

Mdl.OOBIndices存储out-of-bag指数作为一个矩阵的逻辑值。

情节out-of-bag误差在分类树种植的数量。

图;oobErrorBaggedEnsemble = oobError (Mdl);情节(oobErrorBaggedEnsemble)包含种植树木的数量;ylabel“Out-of-bag分类错误”;

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

out-of-bag误差随种植树木的数量。

标签out-of-bag观察,通过MdloobPredict

加载carsmall数据集。考虑一个模型,预测汽车的燃油经济性给出它的发动机排量。

负载carsmall

火车一袋装回归树使用整个数据集。指定100弱的学习者。

rng (1);%的再现性Mdl = TreeBagger(位移,100英里,“方法”,“回归”);

Mdl是一个TreeBagger合奏。

使用一个训练有素的袋回归树,您可以估计条件均值反应或执行分位数回归预测条件分位数。

十条平行引擎位移之间的最小和最大样本内位移,预测条件意味着反应和有条件的四分位数。

predX = linspace (min(位移),max(位移),10)';predX mpgMean =预测(Mdl);mpgQuartiles = quantilePredict (Mdl predX,分位数的,0.25,0.5,0.75);

情节的观察,估计意思是反应和四分位数相同的数字。

图;情节(位移,英里/加仑,“o”);持有情节(predX mpgMean);情节(predX mpgQuartiles);ylabel (的燃油经济性);包含(发动机排量的);传奇(“数据”,“平均响应”,第一四分位数的,“中值”,“第三四分位数”);

图包含一个坐标轴对象。坐标轴对象包含5线类型的对象。这些对象代表数据、平均响应第一四分位数、中位数,第三四分位数。

加载carsmall数据集。考虑一个模型,预测的平均燃油经济性汽车由于其加速度,缸数,发动机排量,马力,制造商,模型,和体重。考虑气缸,制造行业,Model_Year作为分类变量。

负载carsmall气缸=分类(缸);及时通知=分类(cellstr (Mfg));Model_Year =分类(Model_Year);X =表(加速、气缸、排量、马力、制造行业,Model_Year、重量、MPG);rng (“默认”);%的再现性

显示类别的数量代表的分类变量。

numCylinders =元素个数(类别(气缸))
numCylinders = 3
numMfg =元素个数(类别(有限公司))
numMfg = 28
numModelYear =元素个数(类别(Model_Year))
numModelYear = 3

因为只有在有三个类别气缸Model_Year标准车,predictor-splitting算法更喜欢将连续预测这两个变量。

200年训练随机森林回归树使用整个数据集。无偏树木生长,指定使用曲率检测分割预测。因为有数据缺失值,指定使用代理分裂。商店的out-of-bag信息预测评估的重要性。

Mdl = TreeBagger (200 X,“英里”,“方法”,“回归”,“代孕”,“上”,“PredictorSelection”,“弯曲”,“OOBPredictorImportance”,“上”);

TreeBagger商店预测重要性估计房地产OOBPermutedPredictorDeltaError。使用条形图比较估计。

小鬼= Mdl.OOBPermutedPredictorDeltaError;图;酒吧(imp);标题(“弯曲测试”);ylabel (的预测估计的重要性);包含(“预测”);甘氨胆酸h =;h。XTickLabel = Mdl.PredictorNames; h.XTickLabelRotation = 45; h.TickLabelInterpreter =“没有”;

图包含一个坐标轴对象。坐标轴对象与标题曲率测试包含一个对象类型的酒吧。

在这种情况下,Model_Year是最重要的因素,其次是吗重量

比较小鬼从随机森林预测重要性估计计算生长树使用标准的车。

MdlCART = TreeBagger (200 X,“英里”,“方法”,“回归”,“代孕”,“上”,“OOBPredictorImportance”,“上”);impCART = MdlCART.OOBPermutedPredictorDeltaError;图;酒吧(impCART);标题(“标准车”);ylabel (的预测估计的重要性);包含(“预测”);甘氨胆酸h =;h。XTickLabel = Mdl.PredictorNames; h.XTickLabelRotation = 45; h.TickLabelInterpreter =“没有”;

图包含一个坐标轴对象。坐标轴对象标题标准车包含一个对象类型的酒吧。

在这种情况下,重量一个连续预测,是最重要的。接下来的两个最重要的因素Model_Year紧随其后的是马力,这是一个连续的预测。

复制语义

价值。学习如何影响你的使用类的,看到的类比较处理和价值在MATLAB®面向对象编程的文档。

提示

对于一个TreeBagger模型对象B,属性的存储单元向量B.NumTreesCompactClassificationTreeCompactRegressionTree模型对象。文本或图形显示的树t在细胞中向量,输入

视图(B.Trees {t})

选择功能

统计和机器学习工具箱™装袋和随机森林提供了三个对象:

对于细节的差异TreeBagger和袋装集合体(ClassificationBaggedEnsembleRegressionBaggedEnsemble),看比较TreeBagger和袋装的集合体

引用

[1]Breiman, L。“随机森林。”机器学习45岁的5-32,2001页。

[2]Meinshausen认为:“分位数回归森林。”机器学习研究杂志》上7卷,2006年,页983 - 999。