主要内容

TreeBagger

袋装决策树的合奏

描述

一个TreeBagger对象是袋装的整体决策树分类或回归。个人决策树overfit。装袋代表引导聚合,它是一个方法,减少过度拟合的影响,提高了泛化。

创建

TreeBagger函数的每棵树生长TreeBagger使用引导整体模型的样本输入数据。观察不包含在样本被认为是“out-of-bag”那棵树。函数的随机选择一个子集预测每个决定分割利用随机森林算法[1]

描述

提示

默认情况下,TreeBagger功能分类决策树生长。增长回归决策树,指定名称的论点方法作为“回归”

例子

Mdl= TreeBagger (NumTrees,资源描述,ResponseVarName)返回一个对象(Mdl)NumTrees袋装分类树,训练有素的预测表资源描述在变量和类标签Tbl.ResponseVarName

Mdl= TreeBagger (NumTrees,资源描述,公式)返回Mdl训练有素的预测表资源描述。输入公式是一个解释性模型反应和预测变量的子集资源描述适合使用Mdl。指定公式使用威尔金森符号

Mdl= TreeBagger (NumTrees,资源描述,Y)返回Mdl训练有素的预测数据表中资源描述数组和类标签Y

例子

Mdl= TreeBagger (NumTrees,X,Y)返回Mdl训练有素的预测数据矩阵X数组和类标签Y

例子

Mdl= TreeBagger (___,名称=值)返回Mdl额外的选项指定一个或多个名称参数,使用任何以前的输入参数组合。例如,您可以指定算法用来找到最好的分割分类预测通过使用名称-值参数PredictorSelection

输入参数

全部展开

决策树在袋装合奏,指定为一个正整数。

数据类型:|

样本数据用于训练模型,指定为一个表。每一行的资源描述对应于一个观察,每一列对应一个预测变量。可选地,资源描述响应变量可以包含一个额外的列。多列变量和细胞数组以外的细胞阵列的特征向量是不允许的。

  • 如果资源描述包含响应变量,你想使用所有剩余的变量资源描述作为预测因子,然后通过使用指定的响应变量ResponseVarName

  • 如果资源描述包含响应变量,和你想使用剩余的变量的一个子集资源描述作为预测因子,然后通过指定一个公式公式

  • 如果资源描述不包含响应变量,然后指定一个响应变量通过使用Y。响应变量的长度的行数资源描述必须是相等的。

响应变量名称,指定为一个变量的名字资源描述

您必须指定ResponseVarName作为一个特征向量或字符串标量。例如,如果响应变量Y存储为Tbl.Y,然后指定它“Y”。否则,软件将所有列资源描述,包括Y训练时,预测模型。

响应变量必须分类,字符,或字符串数组;一个逻辑或数值向量;或一个单元阵列的特征向量。如果Y是一个字符数组,每个元素的响应变量必须对应一行的数组。

一个良好的实践是指定类的顺序使用一会名称-值参数。

数据类型:字符|字符串

响应变量的解释模型和预测变量的一个子集,指定为一个特征向量或字符串标量形式“Y ~ x1 + x2 + x3”。在这种形式,Y代表的响应变量,x1,x2,x3代表了预测变量。

指定变量的子集资源描述作为培训的预测模型,使用一个公式。如果你指定一个公式,那么软件中不使用任何变量资源描述不出现在公式

公式中的变量名必须两变量名资源描述(Tbl.Properties.VariableNamesMATLAB)和有效®标识符。您可以验证变量名资源描述通过使用isvarname函数。如果变量名是无效的,那么您可以将其转换使用matlab.lang.makeValidName函数。

数据类型:字符|字符串

类标签或响应变量的合奏袋装决策树训练,分类,指定字符,或字符串数组;一个逻辑或数值向量;或一个单元阵列的特征向量。

  • 如果您指定方法作为“分类”,以下申请类标签Y:

    • 的每个元素Y定义的类成员相应的行X

    • 如果Y是一个字符数组,那么每一行必须对应一个类标签。

    • TreeBagger函数转换类标签单元阵列的特征向量。

  • 如果您指定方法作为“回归”,响应变量Y是一个n1数字向量,n是观测的数量。中的每个条目Y的响应相应的行吗X

的长度Y的行数X必须是相等的。

数据类型:分类|字符|字符串|逻辑|||细胞

预测数据,指定为一个数字矩阵。

每一行的X对应于一个观察(也称为一个实例或例子),和每一列对应一个变量(也称为一个特性)。

的长度Y的行数X必须是相等的。

数据类型:

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

例子:TreeBagger(100年,X, Y,方法=“回归”,代理=“on”OOBPredictorImportance =“上”)100年创建一个袋装合奏回归树,并指定使用代理分裂和存储out-of-bag信息预测评估的重要性。

每个块的观测数据,指定为一个正整数。此选项仅适用于当您使用TreeBagger在高大的数组。有关更多信息,请参见扩展功能

例子:ChunkSize = 10000

数据类型:|

误分类代价,指定为一个方阵或结构。

  • 如果你指定方阵成本而真正的类的观察,然后成本(i, j)是一个指向类分类的成本j。即行对应于真实的类和列对应于预测类。指定的类订单相应的行和列成本,可以使用一会名称-值参数。

  • 如果你指定的结构年代,那么它必须有两个字段:

    • S.ClassNames,其中包含类名相同的数据类型的一个变量Y

    • S.ClassificationCosts,其中包含成本矩阵行和列命令一样S.ClassNames

默认值是成本(i, j) = 1如果我~ = j,成本(i, j) = 0如果我=我

更多信息在一个高度倾斜的影响成本,请参阅算法

例子:成本= (0,1,2,0)

数据类型:||结构体

分类预测表,在这个表指定为一个值。

价值 描述
向量的正整数

向量中的每个条目是一个索引值表明相应的预测分类。索引值介于1和p,在那里p预测的数量被用来训练模型。

如果TreeBagger使用输入变量的子集作为预测因子,然后只使用函数索引预测指标子集。的CategoricalPredictors值不计数响应变量,观察权重变量,或任何其他变量,函数不使用。

逻辑向量

一个真正的意味着相应的预测分类条目。向量的长度p

字符矩阵 矩阵的每一行是一个预测变量的名字。名称必须匹配的条目PredictorNames。垫的名字与额外的空格字符矩阵的每一行有相同的长度。
字符串数组或单元阵列的特征向量 数组中的每个元素是一个预测变量的名字。名称必须匹配的条目PredictorNames
“所有” 所有预测都直言。

默认情况下,如果预测数据表(资源描述),TreeBagger假设变量是直言如果它是一个逻辑向量,分类向量,字符数组,字符串数组或单元阵列特征向量。如果预测数据是一个矩阵(X),TreeBagger假设所有的预测都是连续的。识别任何其他预测分类预测,通过使用指定它们CategoricalPredictors名称-值参数。

确定分类预测,TreeBagger使用两种不同的方案,创建虚变量取决于分类变量是无序或命令。一个无序分类变量,TreeBagger创建一个哑变量为每个级别的分类变量。对于有序分类变量,TreeBagger创建一个哑变量小于类别的数量。有关详细信息,请参见自动创建虚拟变量

例子:CategoricalPredictors = "所有"

数据类型:||逻辑|字符|字符串|细胞

指定为类型的决策树“分类”“回归”。回归树,Y必须是数值。

例子:方法= "回归"

最小数量的叶子节点观测,指定为一个正整数。每片叶子都至少有MinLeafSize观察树叶。默认情况下,MinLeafSize1分类树和5回归树。

例子:MinLeafSize = 4

数据类型:|

数量的预测变量(随机选择)分裂为每一个决定,一个正整数或指定“所有”。默认情况下,NumPredictorsToSample的平方根是变量的数量对分类树,和一个第三个变量回归树的数量。如果默认数不是整数,该软件轮数量到最近的整数的方向正无穷。如果你设置NumPredictorsToSample任何价值除了“所有”,软件使用Breiman随机森林算法[1]

例子:NumPredictorsToSample = 5

数据类型:||字符|字符串

种植树木的数量(培训周期)后,软件显示一个消息关于培训进展在命令窗口中,指定为一个非负整数。默认情况下,软件显示诊断消息。

例子:NumPrint = 10

数据类型:|

分数的输入数据与替代样本从输入数据增长每个新树,指定为一个积极的标量范围(0,1)。

例子:InBagFraction = 0.5

数据类型:|

指示器out-of-bag信息存储在合奏,指定为“上”“关闭”。指定OOBPrediction作为“上”存储信息观测out-of-bag每棵树。TreeBagger可以使用这些信息来计算预测类概率每棵树的合奏。

例子:OOBPrediction =“关闭”

指示存储out-of-bag估计特征重要性的合奏,指定为“上”“关闭”。如果您指定OOBPredictorImportance作为“上”,TreeBagger函数集OOBPrediction“上”。如果你想预测的重要性,分析指定PredictorSelection作为“弯曲”“interaction-curvature”

例子:OOBPredictorImportance = " "

选择运行并行计算和设置随机流,指定为一个结构。创建选项结构使用statset。此表列出了选项字段及其值。

字段名 价值 默认的
UseParallel 将这个值设置为真正的运行并行计算。
UseSubstreams

将这个值设置为真正的并行计算可再生的方式运行。

计算重复性良好一个类型,允许substreams:“mlfg6331_64”“mrg32k3a”

这个值指定为一个RandStream对象或一个单元阵列组成的一个这样的对象。 如果你不指定,然后TreeBagger使用默认的流。

请注意

你需要并行计算工具箱™运行并行计算。

例子:选项= statset (UseParallel = true)

数据类型:结构体

预测变量名称,指定的唯一名称的字符串数组或单元阵列独特的特征向量。的功能PredictorNames取决于你如何提供训练数据。

  • 如果你提供XY,那么你可以使用PredictorNames指定名称的预测变量X

    • 名字的顺序PredictorNames必须对应的列顺序X。也就是说,PredictorNames {1}的名字是X (: 1),PredictorNames {2}的名字是X (:, 2),等等。同时,大小(X, 2)元素个数(PredictorNames)必须是相等的。

    • 默认情况下,PredictorNames{x1, x2,…}

  • 如果你提供资源描述,那么你可以使用PredictorNames选择使用哪个预测变量在训练。也就是说,TreeBagger只使用的预测变量PredictorNames和响应变量在训练。

    • PredictorNames必须是一个子集的Tbl.Properties.VariableNames,不能包括响应变量的名称。

    • 默认情况下,PredictorNames包含所有预测变量的名字。

    • 一个良好的实践是指定培训使用的预测因子PredictorNames公式,但不能两者兼得。

例子:PredictorNames = [“SepalLength”、“SepalWidth”,“PetalLength”、“PetalWidth”)

数据类型:字符串|细胞

放回抽样指标,指定为“上”“关闭”。指定SampleWithReplacement作为“上”与更换样品,或“关闭”样品没有更换。如果你设置SampleWithReplacement“关闭”,您必须设置名称参数InBagFraction值小于1。

例子:SampleWithReplacement = " "

先验概率为每个类两级学习,在这个表指定为一个值。

价值 描述
“经验” 类先验概率类相对频率Y
“统一” 所有类先验概率等于1 /K,在那里K类的数量。
数值向量 向量中每个元素是一个类先验概率。根据元素的顺序Mdl.ClassNames或指定的顺序使用一会名称-值参数。该软件可实现元素之和1
结构

一个结构年代两个字段:

  • S.ClassNames包含类名作为相同类型的变量Y

  • S.ClassProbs包含一个向量对应的先验概率。该软件可实现元素向量的总和1

如果你指定一个成本矩阵,之前财产的TreeBagger模型存储错误分类的先验概率调整成本。更多细节,请参阅算法

这个论点是有效的只有两级学习。

例子:之前=结构(类名= [“setosa”“癣”“virginica”], ClassProbs = 1:3)

数据类型:字符|字符串|||结构体

请注意

除了名称参数TreeBagger函数接受的名称参数fitctreefitrtree中列出的额外的名称TreeBagger函数的参数

输出参数

全部展开

袋装决策树的合奏,作为一个返回TreeBagger对象。

属性

全部展开

装袋属性

这个属性是只读的。

指标计算out-of-bag预测训练观察,指定为一个数字或逻辑1 (真正的)或0 ()。如果此属性真正的:

  • TreeBagger对象的属性OOBIndicesOOBInstanceWeight

  • 您可以使用对象的功能oobError,oobMargin,oobMeanMargin

这个属性是只读的。

指标计算out-of-bag变量重要性,指定为一个数字或逻辑1 (真正的)或0 ()。如果此属性真正的:

  • TreeBagger对象的属性OOBPermutedPredictorDeltaError,OOBPermutedPredictorDeltaMeanMargin,OOBPermutedPredictorCountRaiseMargin

  • 房地产ComputeOOBPrediction真正的

这个属性是只读的。

分数的观察与更换随机选择为每个引导副本(在袋子的观察),指定为一个数字标量。每个副本的大小脑袋×InBagFraction,在那里脑袋在训练数据的数量的观察。

数据类型:|

这个属性是只读的。

Out-of-bag指标,指定为一个逻辑数组。这个属性是一个脑袋——- - - - - -NumTrees数组,脑袋在训练数据的数量的观察,然后呢NumTrees是树木的数量。如果OOBIndices(,j)元素是真正的,观察这棵树out-of-bag吗j(即TreeBagger函数没有选择观察训练数据用于种植的树j)。

这个属性是只读的。

out-of-bag数量为每个观察树木,指定为一个数值向量。这个属性是一个脑袋1的向量,脑袋在训练数据的数量的观察。的OOBInstanceWeight()元素包含树的数量用于计算out-of-bag反应观察

数据类型:|

这个属性是只读的。

预测变量(特征)重要性提高利润率,指定为一个数值向量。这个属性是一个1 -据nvar向量,据nvar训练数据是变量的数量。对于每个变量,测量的区别是提高利润的数量和降低利润的数量如果这个变量的值是整个out-of-bag观测排列。这种方法计算每棵树,然后平均在整个合奏和除以标准差整个合奏。

这个属性是空的([]回归树。

数据类型:|

这个属性是只读的。

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

数据类型:|

这个属性是只读的。

预测变量(特征)重要性分类,指定为数字向量。这个属性是一个1 -据nvar向量,据nvar是变量的数量(列)在训练数据。每个变量的措施是减少分类保证金如果这个变量的值是整个out-of-bag观测排列。这种方法计算每棵树,然后平均在整个合奏和除以标准差整个合奏。

这个属性是空的([]回归树。

数据类型:|

树的属性

这个属性是只读的。

分割标准为每个预测贡献,指定为一个数值向量。这个属性是一个1 -据nvar向量,据nvar是分裂的变化的数量标准。软件金额拆分条件的变化将在每个变量,然后平均金额在整个乐团的种植树木。

数据类型:|

这个属性是只读的。

指标合并叶子,指定为一个数字或逻辑1 (真正的)或0 ()。此属性真正的如果软件合并决策树的叶子用相同的父母,不降低总风险的分裂。否则,此属性

这个属性是只读的。

最小数量的叶子节点观测,指定为一个正整数。每片叶子都至少有MinLeafSize观察。默认情况下,MinLeafSize是1对分类树和5回归树。对决策树训练,fitctreefitrtree设置名称-值参数MinParentSize2 * MinLeafSize

数据类型:|

这个属性是只读的。

决策树在袋装合奏,指定为一个正整数。

数据类型:|

这个属性是只读的。

指标估计修剪树的最优序列,指定为一个数字或逻辑1 (真正的)或0 ()。的修剪属性是真正的如果决策树修剪,如果他们不是。修剪决策树不建议集合体。

这个属性是只读的。

指标与替代样本每个决策树,指定为一个数字或逻辑1 (真正的)或0 ()。此属性真正的如果TreeBagger与替代函数样本每个决策树,否则。

这个属性是只读的。

预测指标变量协会指定为一个数字矩阵。这个属性是一个据nvar——- - - - - -据nvar矩阵,据nvar是预测变量的数量。属性包含变量的预测措施协会,平均在整个乐团的种植树木。

  • 如果你种植的合奏代理名称-值参数设置为“上”这个矩阵,每棵树,充满了协会的预测措施平均代理分裂。

  • 如果你种植的合奏代理名称-值参数设置为“关闭”,SurrogateAssociation房地产是一个单位矩阵。默认情况下,代理被设置为“关闭”

数据类型:|

这个属性是只读的。

指定的名称参数TreeBagger函数,指定为一个单元阵列。的TreeBagger函数使用这些名称参数时袋装合奏种植新树。

这个属性是只读的。

决策树在袋装合奏,指定为一个NumTrees1单元阵列。每棵树是一个CompactClassificationTreeCompactRegressionTree对象。

预测性能

这个属性是只读的。

为每个预测数量决定分裂,指定为一个数值向量。这个属性是一个1 -据nvar向量,据nvar是预测变量的数量。的每个元素NumPredictorSplit代表的数量将在预测求和所有树木。

数据类型:|

这个属性是只读的。

预测变量的数量为每个决定选择随机分裂,指定为一个正整数。默认情况下,此属性变量的总数量的平方根分类树,和总数的三分之一变量回归树。

数据类型:|

这个属性是只读的。

离群值为每个观察测量,指定为一个数值向量。这个属性是一个脑袋1的向量,脑袋在训练数据的数量的观察。

数据类型:|

这个属性是只读的。

预测指标名称,指定为一个单元阵列的特征向量。元素的顺序PredictorNames对应的顺序预测的名字出现在训练数据X

这个属性是只读的。

预测用于训练袋装合奏,指定为数字数组。这个属性是一个脑袋——- - - - - -据nvar数组,脑袋观察(行)的数量和吗据nvar是变量的数量(列)在训练数据。

数据类型:|

响应特性

默认返回的预测价值预测oobPredict,指定为”“,“MostPopular”或数字标量。这个属性控制返回的预测值预测oobPredict目标函数时预测是不可能的(例如,当oobPredict预测反应的观察是在袋子中所有树木合奏)。

  • 分类树,您可以设置DefaultYfit要么”““MostPopular”。如果您指定“MostPopular”分类(默认),属性值是最可能的类的名字在训练数据。如果您指定”“的袋子中观察被排除在计算out-of-bag错误和保证金。

  • 回归树,您可以设置DefaultYfit任何数字标量。的默认值回归训练数据响应的均值。如果你设置DefaultYfit的袋子中观察被排除在计算out-of-bag错误和保证金。

例子:Mdl.DefaultYfit = " MostPopular "

数据类型:||字符|字符串

这个属性是只读的。

类标签或响应数据,指定为一个单元阵列特征向量或一个数值向量。

  • 如果你设置方法名称-值参数“分类”,这个属性代表类标签。每一行的Y代表观察到的分类对应的行X

  • 如果你设置方法名称-值参数“回归”,这个属性代表响应数据,是一个数值向量。

数据类型:||细胞

训练属性

这个属性是只读的。

类型的合奏,指定为“分类”分类集合体或“回归”回归集合体。

这个属性是只读的。

训练数据之间的距离观察,指定为数字数组。这个属性是一个脑袋——- - - - - -脑袋数组,脑袋在训练数据的数量的观察。该数组包含措施之间的近距离观察。对于任意两个观察,他们的距离被定义为树木的一部分,这些观察相同的叶子。数组是对称的,对角线上的和非对角元素从0到1。

数据类型:|

这个属性是只读的。

观察体重、指定为一个向量的非负价值。这个属性相同的行数Y。中的每个条目W指定相应的观测的相对重要性Y。的TreeBagger函数使用观察权重集合中的每个决策树生长。

数据类型:|

分类属性

这个属性是只读的。

独特的培训模式中使用类名称,指定为一个单元阵列的特征向量。

这个属性是空的([]回归树。

这个属性是只读的。

误分类代价,指定为一个数字方阵。的元素成本(i, j)是一个指向类分类的成本j如果它真正的类。行对应于真实的类和列对应预测类。的行和列的顺序成本对应于类的顺序一会

这个属性是空的([]回归树。

数据类型:|

这个属性是只读的。

先验概率,指定为一个数值向量。元素的顺序之前对应于元素的顺序Mdl.ClassNames

如果你指定一个矩阵通过使用成本成本名称-值参数的TreeBagger函数,之前财产的TreeBagger模型对象存储(指定的先验概率之前名称-值参数)调整的误分类代价。更多细节,请参阅算法

这个属性是空的([]回归树。

数据类型:|

对象的功能

全部展开

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

例子

全部折叠

创建一个合奏袋装分类树的费雪的虹膜数据集。然后,把第一次种植的树,情节out-of-bag分类错误,和预测out-of-bag观察标签。

加载fisheriris数据集创建。X作为一个数字矩阵,包含四个花瓣测量150虹膜。创建Y作为一个单元阵列包含相应的特征向量的虹膜的物种。

负载fisheririsX =量;Y =物种;

设置随机数字生成器默认的再现性。

rng (“默认”)

火车一袋装分类树的整个数据集。指定使用50弱的学习者。每棵树的存储out-of-bag观测。默认情况下,TreeBagger深树生长。

Mdl = TreeBagger (50, X, Y,方法=“分类”,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。坐标轴对象包含27行类型的对象,文本。一个或多个行显示的值只使用标记

情节out-of-bag分类错误的数量分类树。

情节(oobError (Mdl)包含(“种植树木数量”)ylabel (“Out-of-Bag分类错误”)

图包含一个坐标轴对象。坐标轴对象包含大量的种植树木,ylabel Out-of-Bag分类误差包含一个类型的对象。

out-of-bag误差减少种植树木的数量增加。

预测out-of-bag观察标签。显示结果为一组随机的10的观察。

oobLabels = oobPredict (Mdl);印第安纳州= randsample(长度(oobLabels), 10);表(Y(印第安纳州),oobLabels(印第安纳州),VariableNames = [“TrueLabel”“PredictedLabel”])
ans =10×2表是_____________ TrueLabel PredictedLabel * * * {‘setosa} {‘setosa} {‘virginica} {‘virginica} {‘setosa} {‘setosa} {‘virginica} {‘virginica} {‘setosa} {‘setosa} {‘virginica} {‘virginica} {‘setosa} {‘setosa}{“癣”}{“癣”}{“癣”}{‘virginica} {‘virginica} {' virginica '}

创建一个袋装回归树的合奏carsmall数据集。然后,预测条件意味着反应和有条件的四分位数。

加载carsmall数据集创建。X包含汽车发动机作为一个数字矢量位移值。创建Y作为一个数值向量包含相应的英里每加仑。

负载carsmallX =位移;Y = MPG;

设置随机数字生成器默认的再现性。

rng (“默认”)

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

Mdl = TreeBagger (100 X, Y,方法=“回归”)
Mdl = TreeBagger合奏与100袋装决策树:训练X: x1[94]培训Y: [94 x1)方法:回归NumPredictors: 1 NumPredictorsToSample: 1 MinLeafSize: 5 InBagFraction: 1 SampleWithReplacement: 1 ComputeOOBPrediction: 0 ComputeOOBPredictorImportance: 0距离:[]属性,方法

Mdl是一个TreeBagger回归树的合奏。

10等距的引擎位移之间的最小和最大样本内位移,预测条件均值反应(YMean)和有条件的四分位数(YQuartiles)。

predX = linspace(最小(X)最大(X) 10) ';predX YMean =预测(Mdl);YQuartiles = quantilePredict (Mdl predX,分位数= [0.25,0.5,0.75]);

情节的观察,估计意思是回应,估计四分位数。

持有情节(X, Y,“o”);情节(predX YMean)情节(predX YQuartiles)ylabel (“燃料经济”)包含(“发动机排量”)传说(“数据”,“平均响应”,“第一四分位数”,“中值”,,“第三四分位数”)

图包含一个坐标轴对象。坐标轴对象包含发动机排量,ylabel燃油经济性包含5线类型的对象。一个或多个行显示的值只使用这些对象标记表示数据,平均响应,第一四分位数、中位数,第三四分位数。

创建两个乐团袋装回归树,一个使用标准的购物车将预测的算法,和其他使用曲率检测分割预测。然后,比较预测重要性估计两个乐团。

加载carsmall数据集和转换变量气缸,制造行业,Model_Year分类变量。然后,显示类别的数量代表的分类变量。

负载carsmall气缸=分类(缸);及时通知=分类(cellstr (Mfg));Model_Year =分类(Model_Year);元素个数(类别(气缸))
ans = 3
元素个数(类别(有限公司))
ans = 28
元素个数(类别(Model_Year))
ans = 3

创建一个表,其中包含八个指标。

台=表(加速、气缸、位移,马力,生产厂,Model_Year、重量、MPG);

设置随机数字生成器默认的再现性。

rng (“默认”)

火车200袋装回归树的整体使用整个数据集。因为数据缺失值,指定使用代理分裂。商店的out-of-bag信息预测评估的重要性。

默认情况下,TreeBagger使用标准的车,一个分裂算法预测。因为变量气缸Model_Year每只包含三个类别,标准的车喜欢分裂连续预测这两个变量。

MdlCART = TreeBagger(200台,“英里”,方法=“回归”代理=“上”,OOBPredictorImportance =“上”);

TreeBagger商店预测重要性估计房地产OOBPermutedPredictorDeltaError

impCART = MdlCART.OOBPermutedPredictorDeltaError;

200年训练随机森林回归树使用整个数据集。无偏树木生长,指定使用曲率检测分割预测。

MdlUnbiased = TreeBagger(200台,“英里”,方法=“回归”代理=“上”,PredictorSelection =“弯曲”,OOBPredictorImportance =“上”);impUnbiased = MdlUnbiased.OOBPermutedPredictorDeltaError;

创建酒吧图表比较预测重要性估计impCARTimpUnbiased两个乐团。

tiledlayout(1、2、填充=“紧凑”);nexttile栏(impCART)标题(“标准车”)ylabel (“预测重要性估计”)包含(“预测”甘氨胆酸)h =;h。XTickLabel = MdlCART.PredictorNames; h.XTickLabelRotation = 45; h.TickLabelInterpreter =“没有”;nexttile酒吧(impUnbiased);标题(“弯曲测试”)ylabel (“预测重要性估计”)包含(“预测”甘氨胆酸)h =;h。XTickLabel = MdlUnbiased.PredictorNames; h.XTickLabelRotation = 45; h.TickLabelInterpreter =“没有”;

图包含2轴对象。坐标轴对象1标题标准车,包含预测,ylabel预测重要性估计包含一个对象类型的酒吧。坐标轴对象2标题曲率测试,包含预测,ylabel预测重要性估计包含一个对象类型的酒吧。

车模型,连续的预测重量是第二个最重要的因素。公正的模型,预测的重要性重量较小的值和排名。

火车一个观察的袋装分类树高的数组,并找到每棵树的误分类概率加权观测模型。下面的例子使用了数据集airlinesmall.csv,一个大的数据集,其中包含一个表格文件航空公司飞行数据。

当你执行计算高数组,MATLAB®使用一个平行池(默认如果你有并行计算工具箱™)或当地的MATLAB会话。要运行示例使用当地的MATLAB会话并行计算工具箱后,改变全球执行环境使用mapreduce函数。

mapreduce (0)

创建一个引用的位置数据存储文件夹包含变量的数据集。选择一个子集,和治疗“NA”价值观缺失的数据,这样数据存储函数替换他们值。创建高表tt包含数据存储中的数据。

ds =数据存储(“airlinesmall.csv”);ds。年代electedVariableNames = [“月”“DayofMonth”“DayOfWeek”,“DepTime”“ArrDelay”“距离”“DepDelay”];ds。TreatAsMissing =“NA”;tt =高(ds)
tt = Mx7高表月DayofMonth DayOfWeek DepTime ArrDelay距离DepDelay _____ _____ _____ _________ ________说21日3 642 296 308 12 10 26 1 1021 8 1 10 23 5 2055 21 480 1332 10 23 5 13 296年12 10 22 4 629 373 1 10 28 3 1446 59 308 63 10 8 4 928 447 2 10 10 6 859 11 954 1::::::::::::::

确定航班,迟到10分钟或更多通过定义一个逻辑变量,适用于晚期飞行。该变量包含的类标签Y。预览这个变量包括前几行。

Y = tt。DepDelay > 10
Y = mx₁高逻辑数组1 0 1 1 0 1 0 0::

创建一个高的数组X的预测数据。

X = tt {: 1: end-1}
X = Mx6双矩阵10 21 3 642 8 308年10 26 1 1021 8 296 1332年10 23 5 2055 21 480 23日5 13 296 10 22 4 629 4 373 10 28 3 1446 59 308 859 8 4 928 447 10 10 6 954年11::::::::::::

创建一个高的数组W观察权重的任意分配权重的在课堂上观察1两倍。

W = Y + 1;

删除行X,Y,W含有缺失数据。

R = rmmissing ([X Y W]);X = R (:, 1: end-2);Y = R (:, end-1);W = R(:,结束);

火车一个20袋装分类树使用整个数据集。指定权向量和统一的先验概率。再现性,设置使用随机数生成器的种子rngtallrng。结果取决于工人的数量和执行环境高数组。有关详细信息,请参见控制你的代码运行

rng (“默认”)tallrng (“默认”)tMdl = TreeBagger (20, X, Y,重量= W =“统一”)
评估高表达式使用当地的MATLAB会话:通过1 1:在0.72秒完成评估在0.89秒完成评估高表达式使用本地MATLAB会话:-通过1对1:在1.2秒完成评估在1.3秒完成评估高表达式使用本地MATLAB会话:-通过1对1:在4.3秒完成评估在4.3秒完成
tMdl = CompactTreeBagger合奏20袋装决策树:方法:分类NumPredictors: 6类名:' 0 ' ' 1 '的属性,方法

tMdl是一个CompactTreeBagger合奏与20袋装决策树。对于高数据,TreeBagger函数返回一个CompactTreeBagger对象。

每棵树的计算错误分类概率模型。中包含的属性权重向量W观察使用权重名称-值参数。

恐怖分子=错误(tMdl, X, Y,权重= W)
评估高表达式使用当地的MATLAB会话:通过1 1:在4.8秒完成评估在4.8秒完成
恐怖分子=20×10.1420 0.1214 0.1115 0.1078 0.1037 0.1027 0.1005 0.0997 0.0981 0.0983⋮

找到的平均误分类概率决策树的合奏。

avg_terr =意味着(恐怖分子)
avg_terr = 0.1022

更多关于

全部展开

提示

  • 对于一个TreeBagger模型Mdl,属性包含一个细胞的向量Mdl.NumTreesCompactClassificationTreeCompactRegressionTree对象。视图的图形化显示t成长树通过输入:

    视图(Mdl.Trees {t})

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

  • 标准车往往选择分裂预测包含许多不同的值,如连续变量,在那些包含几个不同的值,如分类变量[4]。考虑指定曲率或交互测试如果以下是正确的:

    • 相对较少的数据预测不同值比其它预测;例如,预测数据集是异构的。

    • 你的目标是分析预测的重要性。TreeBagger商店预测估计的重要性OOBPermutedPredictorDeltaError财产。

    在指标选择的更多信息,见名称参数PredictorSelection分类树或名称参数PredictorSelection回归树。

算法

  • 如果你指定成本,之前,权重名称-值参数,输出模型对象存储指定的值成本,之前,W属性,分别。的成本属性存储指定的成本矩阵(C没有修改。的之前W属性存储先验概率和观察权重,分别归一化后。模型训练,软件更新先验概率和观察权重将描述的惩罚成本矩阵。有关详细信息,请参见误分类代价矩阵、先验概率和观察权重

  • TreeBagger由过采样函数生成在袋子样品类大误分类代价采样类小误分类代价。因此,out-of-bag样本较少的观察从类大误分类代价和更多的观察类小误分类代价。如果你训练一个分类合奏使用一个小的数据集和一个高度倾斜成本矩阵,然后out-of-bag观察每个类的数量可能非常低。因此,估计out-of-bag错误可能有一个大的方差和难以解释。同样的现象也发生类先验概率大。

  • 的细节TreeBagger函数选择分割预测和信息节点划分算法函数增长决策树时,看到的算法分类树和算法回归树。

选择功能

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

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

引用

[1]Breiman,狮子座。“随机森林。”机器学习45 (2001):5-32。https://doi.org/10.1023/A: 1010933404324

[2]Breiman,狮子座,杰罗姆·弗里德曼,查尔斯·j·斯通和r . a . Olshen。分类和回归树。波卡拉顿,FL: CRC出版社,1984年。

[3]Loh,阴虚。“回归树与公正的变量选择和交互检测。”Statistica中央研究院12,没有。2 (2002):361 - 386。https://www.jstor.org/stable/24306967

[4]Loh,阴虚,Yu-Shan施。“分裂选择分类树。”Statistica中央研究院7,不。4 (1997):815 - 840。https://www.jstor.org/stable/24306157

[5]Meinshausen,尼科莱。“分位数回归森林。”机器学习研究杂志》上7,不。35 (2006):983 - 999。https://jmlr.org/papers/v7/meinshausen06a.html

[6]膝,罗宾,jean - michel Poggi Christine Tuleau-Malot,娜塔莉Villa-Vialanei。对大数据“随机森林。”大数据的研究9 (2017):28-46。https://doi.org/10.1016/j.bdr.2017.07.003

扩展功能

版本历史

介绍了R2009a

全部展开