Matlab随机森林帮助系统
TreeBagger class
目 录
1. 描述(Description) (1)
2. 创建(Construction) (1)
3. 方法(Methods) (1)
4. 属性(Properties) (2)
5. 举例(Examples) (4)
6. 复制语义(Copy Semantics) (9)
7. 提示(Tips) (9)
8. 替代功能(Alternative Functionality) (10)
9. 文献(References) (10)
See Also (10)
T opics (10)
1. 描述(Description)
TreeBagger是将多个分类或回归的决策树集成为一个分类或回归集成器. 引导聚合法(Bagging)表示自助聚合方法. 集成器中的每棵树都生长在输入数据的独立绘制的自助(bootstrap1)副本上. 没被该副本包含的观测值称为这棵树的袋外数据.
TreeBagger依赖于分类树和回归树的功能来生长单个树. 特别地, 分类树和回归树接受为每个决策拆分随机选择的特征数作为可选输入参数. 亦即, TreeBagger 实现的是随机森林算法[1].
对回归问题, TreeBagger 支持均值和分位数回归(即分位数回归森林[2]).
●要预测平均响应或估计给定数据的均方误差,将TreeBagger模型和数据分别传递
给命令predict和命令error. 要对袋外观测值执行类似操作,请分别使用命令oobpredect和命令oobError.
●要估计响应分布的分位数或给定数据的分位数误差, 将TreeBagger模型和数据分
别传递给命令quantilePredict和命令quantileError. 要对袋外观测值执行类似操作,请分别使用命令oobQuantilePredict和命令oobError.
2. 创建(Construction)
TreeBagger创建一个随机森林
3. 方法(Methods)
append将新树按序添加到集成器
compact决策树的紧致集成
error误差(误分类概率或均方差)
fillprox训练数据的邻近矩阵
growTrees训练额外的树并添加到集成器
margin分类边距
mdsprox邻近矩阵的多维标度
meanMargin平均分类边距
oobError袋外误差
字符串转数组matlaboobMargin袋外边距
1Bootstrap是一种选取训练集的方法——从样本数据中重采样若干子样本。
oobMeanMargin袋外平均边距
oobPredict袋外观测值的集成预测
oobQuantileError回归森林的袋外分位数损失
oobQuantilePredict回归森林对袋外观测值的分位数预测
predict应用随机森林来预测响应
quantileError应用随机森林来计算分位数损失
quantilePredict应用随机森林预测响应分位数
4. 属性(Properties)
ClassNames 包含响应变量Y的类名的元胞数组. 对于回归树,此属性为空.
ComputeOOBPrediction 一种逻辑标志,指定是否计算训练数据的袋外预测. 缺省值为false.
若此标志为true,则下述属性可用:
OOBIndices
OOBInstanceWeight
若此标志为true,则下述方法可被调用:
oobError
oobMargin
oobMeanMargin
ComputeOOBPredictorImportance 一种逻辑标志,指定是否计算变量重要性的袋外估计. 缺省值为
false.若此标志为true,则ComputeOOBPrediction也是true.
若此标志为true,则下述属性可用:
OOBPermutedPredictorDeltaError
OOBPermutedPredictorDeltaMeanMargin
OOBPermutedPredictorCountRaiseMargin
Cost 一个方阵,其中Cost(i,j)是将一个点分到类j而实际上它属于类i
的代价(换言之,该矩阵的行对应的是真类而列则对应的是预测的类).
Cost的行和列的顺序与ClassNames中类的顺序相对应. Cost中的行
数和列数是响应中唯一类的数目. 这个属性是:
read-only
empty ([]) for ensembles of regression trees
DefaultYfit predict和oobPredict返回的缺省值. DefaultYfit属性控制着在
无法预测时返回的预测值. 比如,当oobPredict需要预测集成器中所
有树的观测值时.
对于分类,你可将此属性设置为''或'MostPopular'. 若选择
'MostPopular'(缺省值),则此属性值成为训练数据中最有可能的类的
名称. 若选择'',则袋内观测值将不包括在袋外误差和边距的计算中.
对于回归,你可将此属性设置为任何数值标量. 缺省值是训练数据响
应的平均值. 若设置为NaN,则袋内观测值将不包括在袋外误差和边距
的计算中.
DeltaCriterionDecisionSplit 一个1×Nvars数值矩阵,它是对每个变量的拆分进行求和,并在整个
生长树集合中求平均值.
InBagFraction 随机选择并替换每个引导副本的观测值的占比. 每个副本的大小是
Nobs×InBagFraction,其中Nobs是训练集中观测值的数量.
缺省值为1.
注:实际上就是训练集数据量占总数据量的比例.
MergeLeaves 一种逻辑标志,指定是否合并具有相同父级的决策树叶以进行不降低总
风险的拆分. 缺省值为false.
Method 决策树所使用的方法. 分类集成器的值可能是'classification',回
归集成器的值则是'regression'.
MinLeafSize 每片树叶的观测值的最小数据量. 缺省情况下,MinLeafSize的值对
分类为1,对回归为5. 在训练决策树时,MinParent的值设置为
2*MinLeafSize.
NumTrees 一个标量值,等于集成器中决策树的数量.
NumPredictorSplit 一个1×Nvars数值矩阵,其中每个元素给出的是此预测器上所有树的
分裂数的和.
NumPredictorsToSample 为每个决策拆分随机选择的预测变量或特征变量的数目. 缺省情况
下,NumPredictorsToSample等于分类变量总数的平方根,回归变量总
数的1/3.
OOBIndices Nobs×NumTrees逻辑矩阵,其中Nobs是训练数据中观测值的数量,
NumTrees是集成器中树的数量. (i,j)元素为true意指观测值i是树
j的袋外数据. 换言之,观测值i没被选为生长树j的训练数据. OOBInstanceWeight Nobs×1数值矩阵,包含用于计算每个观测的袋外响应的树的数量.
Nobs是用于创建集成器的训练集中观测值的数量.
OOBPermutedPredictorCountRaiseMargin 1×Nvars数值矩阵,包含了每个预测变量(特征)的重要性度量. 对
于任何变量,如果该变量的值在袋外观测值之间进行置换,则度量值是提
高的边距数和降低的边距数之间的差. 对每棵树都计算这个测度,然后
在整个集成器上取平均值,除以整个集成器上的标准差. 对于回归树,此
属性为空.
OOBPermutedPredictorDeltaError 1×Nvars数值矩阵,包含了每个预测变量(特征)的重要性度量. 对
于任何变量,如果该变量的值在袋外观测值之间进行置换,则测量值是预
测误差的增加. 对每棵树都计算这个测度,然后在整个集成器上取平均
值,除以整个集成器上的标准差.
OOBPermutedPredictorDeltaMeanMargin 1×Nvars 数值矩阵,包含了每个预测变量(特征)的重要性度量. 对
于任何变量,如果该变量的值在袋外观测值之间进行置换,则测量值是分
类边距的减少. 对每棵树都计算这个测度,然后在整个集成器上取平均
值,除以整个集成器上的标准差. 对于回归树,此属性为空.
OutlierMeasure Nobs×1数值矩阵,其中Nobs是训练数据中观测值的数量,包含对每
个观测值中异常值的度量.
Prior 每个类的先验概率的数值向量. Prior元素的顺序与ClassNames中
类的顺序相对应. 这个属性是:
read-only
empty ([]) for ensembles of regression trees
Proximity Nobs×Nobs数值矩阵,其中Nobs是训练数据中观测值的数量,包含了
观测值之间接近度的度量. 对于任何两个观测值,其接近度定义为这些
观测值落在同一叶上的树的占比. 这是一个对称矩阵,对角元素上元素
为1,非对角元素介于0与1之间.
Prune 若决策树被修剪,则属性Prune的值为true,否则为false. 不建议
对集成器中的决策树进行修剪. 缺省值为false.
SampleWithReplacement 一种逻辑标志,指定是否对每个决策树的数据进行采样并替换. 此属
性当TreeBagger带替换地采样数据时值为true,否则值为false.
缺省值为true.
TreeArguments fitctree 或fitrtree的参数元胞数组. 这些参数被TreeBagger
应用于为集成器生长新树.
Trees NumTrees×1元胞数组,包含了集成器中的所有树.
SurrogateAssociation 一个Nvars×Nvars矩阵,给出的是变量关联性的预测测度,在整个生
长树集合中取平均值. 若将'surrogate'属性设置为'on'来生长集成
器,则每个树的这个矩阵将填充为替代分裂上的平均关联预测度量. 若
设置为'off'(缺省值),则SurrogateAssociation是对角阵.
PredictorNames 一个包含了预测变量(特征)名的元胞数组. TreeBagger从可选参数
'names'来提取这些名字. 缺省名为'x1','x2',等等.
W 长度为Nobs的权重向量,其中Nobs是训练数据中观测值的数量(行
数). TreeBagger利用这些权重来生长集成器中的每棵决策树. W的缺
省值是ones(Nobs,1).
X Nobs×Nvars的表或数值矩阵,其中Nobs是观测值的数量(行数),
Nvars是训练数据中变量的数量(列数). 若用预测值表来训练集成器,
则X就是一张表. 若用预测值矩阵来训练集成器,则X就是一个矩阵.
此属性包含了预测变量(或特征)的值.
Y 一个大小为Nobs的响应数据矩阵. Y的元素对应着X的行. 对于分
类,Y是真类的标签的集合. 标签可以是任何分组变量,即数值或逻辑向
量、字符矩阵、字符串数组、以字符向量为元素的元胞数组、或分类向量.
对分类TreeBagger将标签转换为以字符向量为元素的元胞数组;对回
归,Y是数值向量.
5. 举例(Examples)
5.1 训练分类集成器(Train Ensemble of Bagged Classification Trees)
加载Fisher's iris数据集.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论