主要内容

Treebagger类

决策树包

描述

TreeBagger袋子为分类或回归的决策树的集合。装袋代表引导聚合。合奏中的每棵树都在独立绘制的输入数据的自主绘制复制品上生长。此副本中未包含的观察是“从包中的”这棵树。

TreeBagger依靠ClassificationTree.回归植物种植个体树木的功能。特别是,ClassificationTree.回归植物接受为每个决策分割随机选择的特性数量作为可选输入参数。也就是说,TreeBagger实现随机森林算法[1]

对于回归问题,TreeBagger万博1manbetx支持均值和大分回归(即定量回归森林[2])。

建造

TreeBagger 创建决策树包

对象的功能

附加 将新树附加到合奏
袖珍的 决策树的紧凑型集合
错误 错误(错误分类概率或MSE)
Fillprox. 接近矩阵训练数据
Growtees. 训练额外的树,并添加到整体
利润 分类保证金
mdsprox 近矩阵的多维缩放
意思 平均分类保证金
ooberror. 袋袋错误
Oobmargin. 袋袋边缘
oobMeanMargin Out-of-bag意味着利润
Oobpredict. 与袋子外观测的集合预测
OOBQUANTILEERROR. 袋子袋数丢失的袋子
OOBQUANTILEPREDICT 从回归树的袋外观察的分位数预测
部分竞争 计算部分依赖
绘图竞争依赖性 创建部分依赖图(PDP)和个人条件期望图(ICE)
预测 使用袋装决策树的集合来预测响应
SmileileError. 使用袋子回归树的量化损失
quantilePredict 使用袋子回归树预测响应量子

特性

一会

包含响应变量的类名的单元格数组Y.此属性为回归树为空。

ComputeOOBPrediction

应计算指定是否应该计算用于训练观察的袋子预测的逻辑标志。默认值是

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

  • OOBIndices

  • OOBInstanceWeight

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

  • ooberror.

  • Oobmargin.

  • oobMeanMargin

computeoobpredictorimportance.

一个逻辑标志,指定是否应该计算变量重要性的包外估计。默认值是.如果是这个标志真的,然后ComputeOOBPrediction也是真的。

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

  • OobpermutedPredictordeltaError

  • OobpermutedPredictord eltameanMargin.

  • OobpermutedPredictorcountraisemargin.

成本

方矩阵,在哪里成本(i,j)是将一个点分类为课程的成本j如果它的真实课程是(即,行对应于真实类,列对应于预测类)。行和列的顺序成本对应于类的顺序一会.行数和列的数量成本是响应中唯一类的数量。

这个属性是:

  • 只读

  • 空的 ([])对于回归树的合奏

defaultyfit.

返回的默认值预测Oobpredict..的defaultyfit.属性控制不可能预测时返回的预测值。例如,何时Oobpredict.需要预测对集合中所有树木的袋子的观察。

  • 对于分类,您可以将此属性设置为要么'最受欢迎'.如果你选择'最受欢迎'(默认值),属性值成为培训数据中最可能类的名称。如果你选择,袋内观察被排除在禁止外误差和边距的计算之外。

  • 对于回归,您可以将此属性设置为任何数字标量。默认值是培训数据的响应的平均值。如果您将此属性设置为,袋内观察被排除在禁止外误差和边距的计算之外。

deltacriteriondecisionplit.

大小为1 × -的数字数组NVARS.将分割标准的变化通过每个变量的分割进行求和,并在整个已长成的树木集合中取平均值。

土壤反弹

随机选择的观察分数,用于替换每个引导副本。每个副本的大小是谈判×土壤反弹, 在哪里谈判是培训集中的观测数量。默认值为1。

MergeLeaves

一个逻辑标志,指定与同一父级的决策树是否留下的拆分是不降低总风险的拆分。默认值是

方法

树木使用的方法。可能的值是'分类'对于分类集合,和'回归'对于回归合奏。

minleafsize.

每棵树叶的最小观察数。默认情况下,minleafsize.为分类和5个回归的5。对于决策树训练,明蛋白值设置为等于2 * minleafsize.

numtrees.

集合中等于决策树数目的标量值。

NumPredictorSplit

大小为1 × -的数字数组NVARS.,每个元素都给所有树木汇总的预测值都有许多分裂。

numpredictorstosample.

预测器或特征变量的数量以随机选择每个决策拆分。默认情况下,numpredictorstosample.等于分类变量总数的平方根,回归变量总数的三分之一。

OOBIndices

逻辑阵列大小谈判-经过-numtrees., 在哪里谈判训练数据中的观察数和numtrees.是集合中的树木数量。一种真的价值(j元素表示该观察结果袋子里装的是树吗j.换句话说,观察未选择用于种植树的培训数据j

OOBInstanceWeight

大小数字数组谈判-1包含用于计算每次观察的禁止袋响应的树木数量。谈判是用于创建集合的培训数据中的观测数量。

OobpermutedPredictorcountraisemargin.

大小为1 × -的数字数组NVARS.包含对每个预测变量(特征)的可变重要性的度量。对于任何变量,如果在袋袋外观察中允许该变量的值允许该变量的值,则测量值是凸起边距的数量和降低的边距的数量之间的差异。对每棵树计算这个度量,然后在整个集合上取平均值,再除以整个集合上的标准差。此属性为回归树为空。

OobpermutedPredictordeltaError

大小为1 × -的数字数组NVARS.包含每个预测变量(特征)的重要性度量。对于任何一个变量,如果该变量的值是在袋子外的观察值中排列的,则度量是预测误差的增加。对每棵树计算这个度量,然后在整个集合上取平均值,再除以整个集合上的标准差。

OobpermutedPredictord eltameanMargin.

大小为1 × -的数字数组NVARS.包含每个预测变量(特征)的重要性度量。对于任何变量,如果在袋出袋出观察中允许该变量的值,则该度量是分类余量的减小。对每棵树计算这个度量,然后在整个集合上取平均值,再除以整个集合上的标准差。此属性为回归树为空。

概要

有大小的数字数组谈判- 1,在哪里谈判是培训数据中的观测数量,包括每个观察的异常措施。

事先的

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

这个属性是:

  • 只读

  • 空的 ([])对于回归树的合奏

接近

有大小的数字矩阵谈判-经过-谈判, 在哪里谈判为训练数据中的观测数,包含观测值之间的接近度度量值。对于任意两个观测值,它们的接近度定义为这些观测值落在同一片叶子上的树木的比例。这是一个对称矩阵,对角线和非对角线上的元素从0到1都有1s。

修剪

修剪如果修剪树木被修剪和错误,则属性是真的。不建议修剪决策树以用于合奏。默认值为false。

SampleWithReplacement.

指定具有替换的每个决策树的数据是否针对数据的逻辑标志。这家酒店是真的如果TreeBagger样本数据替换和否则。默认值是真的

tr

小区的参数阵列fitctree要么fitrtree..这些参数被TreeBagger为整个团队种植新树。

大小相同的单元格数组numtrees.-by-1包含集合中的树。

SurrogateAssociation

大小矩阵NVARS.-经过-NVARS.通过变量关联的预测措施,对整个成年树木进行平均。如果你增加了布景“代孕”“上”,每个树的该矩阵填充有预测措施的关联对替代分裂的平均。如果你增加了布景“代孕”'离开'(默认),SurrogateAssociation是斜的。

预测

包含预测器变量的名称(特征)的单元格数组。TreeBagger从可选中获取这些名称“名字”范围。默认名称是'x1''x2', 等等。

W

数量的数量矢量长度谈判, 在哪里谈判是培训数据中的观测数量(行)。TreeBagger使用这些权重来在集合中生长每个决策树。默认值W(脑袋,1)

X

桌子或数字矩阵的大小谈判-经过-NVARS., 在哪里谈判是观察数(行)和NVARS.是培训数据中的变量(列)的数量。如果您使用预测值的表培训集合,那么X是一张桌子。如果您使用预测值值矩阵训练集合,那么X是一个矩阵。此属性包含预测器(或功能)值。

Y

一个大小谈判响应数据阵列。要点Y对应于行X.分类,Y是一组真正的类标签。标签可以是任何分组变量,即数字或逻辑向量、字符矩阵、字符串数组、字符向量单元格数组或分类向量。TreeBagger将标签转换为字符向量的单元格数组以进行分类。对于回归,Y是数字矢量。

例子

全部收缩

装载Fisher的Iris数据集。

负载渔民

使用整个数据集培训袋装分类树的集合。指定50.弱学习者。存储哪些观察袋为每棵树袋。

RNG(1);重复性的%mdl = treebagger(50,meas,speies,'Oobprediction'“上”......'方法''分类'
MDL = TreeBagger合奏与50个袋装决策树:训练X:[150x4]训练Y:[150x1]方法:分类NumPredictors:4 NumPredictorstosample:2 minleafsize:1个土松效:1个样品释放:1 ComputeOobprediction:1 ComputeOobpredictorImportance:[]ClassNames:'Setosa''Versicolor''Virginica'属性,方法

MDL.是A.TreeBagger合奏。

mdl.trees.存储培训的分类树的50×1个细胞矢量(CompactClassificationTree.模型对象)组成集成。

绘制第一训练分类树的图表。

查看(mdl.trees {1},“模式”'图形'

图分类树查看器包含一个轴和其他类型的uimenu, uicontrol对象。轴包含21个类型为line, text的对象。

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

mdl.oobindices.将袋子外索引存储为逻辑值的矩阵。

绘制袋子超出了种植的分类树的数量。

图;Ooberrorbag​​gedensemble = OobError(MDL);绘图(Ooberrorbag​​gedensemble)Xlabel“已长成的树的数量”;ylabel.'袋袋分类错误'

图包含轴。轴包含类型线的对象。

袋袋错误随着种植的树木数量减少。

标记袋子外观察,通过MDL.Oobpredict.

加载Carsmall.数据集。考虑一种模型,该模型预测汽车的发动机位移的燃油经济性。

负载Carsmall.

使用整个数据集培训袋装回归树的集合。指定100个弱的学习者。

RNG(1);重复性的%mdl = treebagger(100,位移,mpg,'方法''回归');

MDL.是A.TreeBagger合奏。

使用训练有素的回归树,您可以估计条件平均响应或执行量级回归以预测条件量数。

对于十个同等间隔的发动机位移在最小和最大的样本位移之间,预测有条件的平均响应和条件四分位数。

predx = linspace(min(位移),max(位移),10)';mpgmean =预测(mdl,predx);mpgquartiles = smileilepredict(mdl,predx,分位数的, 0.25, 0.5, 0.75);

绘制观察结果,估计在同一地图中的平均反应和四分位数。

图;情节(位移,英里/加仑,'o');抓住绘图(Predx,MPGmean);绘图(Predx,mpgquartiles);ylabel(的燃油经济性);包含('发动机排量');传奇('数据''意思是回应''第一个四分位数'“中值”'第三个四分位数');

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

加载Carsmall.数据集。考虑一种模型,该模型预测汽车的平均燃料经济性,仪式,气缸数量,发动机位移,马力,制造商,模型年和重量。考虑气瓶MFG., 和model_year.作为分类变量。

负载Carsmall.气缸=分类(缸);及时通知=分类(cellstr (Mfg));Model_Year =分类(Model_Year);X =表(加速、气缸、排量、马力、制造行业,......model_year,重量,mpg);RNG('默认');重复性的%

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

num cinders = numel(类别(圆柱体))
numcylinders = 3
nummfg = numel(类别(MFG))
numMfg = 28
nummodelyear = numel(类别(model_year))
numModelYear = 3

因为只有3个类别气瓶model_year.,标准推车,预测算法更喜欢在这两个变量上分割连续的预测器。

使用整个数据集培训200个回归树的随机森林。为了种植无偏的树木,请指定用于分裂预测器的曲率测试的使用。由于数据中存在缺少值,因此指定代理分割的使用。存储禁止袋信息以获取预测性重要性估算。

mdl = treebagger(200,x,“英里”'方法''回归''代理'“上”......'预测圈'“弯曲”'Oobpredictorimportance'“上”);

TreeBagger在物业中存储预测原则重要性估计OobpermutedPredictordeltaError.使用条形图比较估计值。

Imp = mdl.oobpermutedpredictordeltaError;图;酒吧(IMP);标题('曲率测试');ylabel('预测重点估计');包含('预测器');H = GCA;h.xticklabel = mdl.predictornames;H.xticklabelrotation = 45;H.TicklabelInterpreter =.“没有”

图包含轴。具有标题曲率测试的轴包含型杆的物体。

在这种情况下,model_year.是最重要的预测因素,其次是重量

比较偶尔预测来自使用标准推车的随机林计算的重要性估计。

MdlCART = TreeBagger (200 X,“英里”'方法''回归''代理'“上”......'Oobpredictorimportance'“上”);Impcart = mdlcart.oobpermutedpredictordeltaError;图;酒吧(Impcart);标题('标准购物车');ylabel('预测重点估计');包含('预测器');H = GCA;h.xticklabel = mdl.predictornames;H.xticklabelrotation = 45;H.TicklabelInterpreter =.“没有”

图包含轴。带标题标准推车的轴包含型栏的物体。

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

复制语义

价值。要了解这会如​​何影响您对类的使用,请参阅比较句柄和价值类在matlab.®面向对象编程的文档。

提示

为一个TreeBagger模型对象B,属性存储一个细胞矢量B.numtrees.CompactClassificationTree.要么Compactregressiontree.模型对象。用于树的文本或图形显示t在细胞向量中,进入

查看(b.trees {t})

替代功能

Statistics and Machine Learning Toolbox™提供了三种对象用于套袋和随机森林:

详细了解两者的区别TreeBagger和袋装合奏(ClassificationBaggedensemble.回归释迦缩短), 看套袋式和套袋式的比较

参考

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

[2] Meinshausen,N。“斯蒂利回归森林。”机器学习研究杂志,第7卷,2006年,第983-999页。