RegressionTree类

超:CompactRegressionTree

描述

决策树与回归二元分割。类的目的RegressionTree可以预测随着新数据的反应预测方法。该对象包含用于训练的数据,因此可以计算重新替换预测。

建设

创建一个RegressionTree通过使用对象fitrtree

属性

BinEdges

宾边缘为数字预测,指定为的单元阵列<Ëm class="varname">p数值向量,<Ëm class="varname">p是预测的数目。每个向量包括用于数字预测的bin边缘。因为该软件不斌分类预测单元阵列的分类预测中的元素是空的。

仅当您指定数值预测器时,该软件才会存储数值预测器'NumBins'培训与学习树模型时的名称 - 值对参数为正整数标量。该BinEdges属性为空,如果'NumBins'值是空的(默认)。

您可以复制离散化的预测数据Xbinned通过使用BinEdges训练的模型的属性mdl

X = mdl.X;%预测数据Xbinned =零(大小(X));边缘= mdl.BinEdges;%查找分级预测的指标。idxNumeric =找到(〜cellfun(@的isEmpty,边缘));如果iscolumn(idxNumeric)idxNumeric = idxNumeric';结束对于j = idxNumeric X = X(:,J);%x转换为数组,如果x是一个表。如果istable(X)X = table2array(X);端%基团X到箱中,通过使用离散化功能。xbinned =离散化(X,[ -  INF;边缘{Ĵ}; INF]);Xbinned(:,J)= xbinned;结束
Xbinned包含二进制位索引,取值范围为1到箱柜的数目,对于数值预测因子。Xbinned值分类预测是0。如果X包含为NaNs,则相应Xbinned为NaN年代。

CategoricalPredictors

直言预测指标,指定为正整数的向量。CategoricalPredictors包含与包含分类预测器的预测器数据列对应的索引值。如果没有谓词是范畴性的,则此属性为空([])。

CategoricalSplits

一个<Ëm class="varname">ñ-by-2细胞阵列,其中ñ分类分裂的数量是多少。在每一行CategoricalSplits给出分类分割的左值和右值。对于每个具有分类分割的分支节点Ĵ根据一个分类预测变量ž,则选择左子元素ž是在CategoricalSplits (j, 1)选择右子元素ž是在CategoricalSplits(J,2)。劈叉都以相同的顺序作为树的节点。对这些分裂节点可通过运行发现cuttype和选择“绝对”削减从顶部到底部。

孩子

一个<Ëm class="varname">ñ的-乘2数组,其中包含每个节点的子节点数,其中<Ëm class="varname">ñ为节点数。叶节点有子节点0

CutCategories

一个<Ëm class="varname">ñ中的分支使用的类别的-乘2单元格数组,其中<Ëm class="varname">ñ为节点数。对于每个分支节点一世根据一个分类预测变量X,则选择左子元素X是否在类别中列出CutCategories{1},我,而右孩子如果选择X是那些在其中列出的CutCategories {I,2}。的两列CutCategories对于基于连续预测器的分支节点和叶节点,为空。

割点包含了砍分'连续'切块,CutCategories包含该类别集。

割点

一个<Ëm class="varname">ñ-元素向量的值用作切割点,其中<Ëm class="varname">ñ为节点数。对于每个分支节点一世基于连续预测变量X,则选择左子元素x <割点(我)选择右子元素X> =截点(I)割点为NaN基于分类预测和叶节点分支节点。

CutType

一个<Ëm class="varname">ñ- 元素单元阵列指示在每个节点切割类型,其中<Ëm class="varname">ñ为节点数。对于每个节点一世CutType {I}是:

  • '连续'- 如果切口的形式定义X 一个变量X和切点v

  • “绝对”- 如果切口是通过是否一个变量定义X发生在一组类别的值。

  • “”- 如果一世是叶节点。

割点包含了砍分'连续'切块,CutCategories包含该类别集。

CutPredictor

一个<Ëm class="varname">ñ变量的名称 - 元素单元阵列用于在每个节点的分支,其中<Ëm class="varname">ñ为节点数。这些变量有时被称为减少变量。叶节点,CutPredictor包含一个空字符向量。

割点包含了砍分'连续'切块,CutCategories包含该类别集。

CutPredictorIndex

一个<Ëm class="varname">ñ中的每个节点中用于分支的变量的数值索引的元素数组,其中<Ëm class="varname">ñ为节点数。有关更多信息,请参见CutPredictor

ExpandedPredictorNames

扩展的预测器名称,存储为字符向量的单元格数组。

如果编码分类变量,那么该模型的用途ExpandedPredictorNames包括描述扩展的变量名。除此以外,ExpandedPredictorNames等于PredictorNames

HyperparameterOptimizationResults

超参数的交叉验证优化描述,存储为BayesianOptimization对象或超参数和关联值的表。非空的时OptimizeHyperparameters名称-值对在创建时是非空的。属性的设置HyperparameterOptimizationOptions创建时的名称-值对:

  • 'bayesopt'(默认)-类的对象BayesianOptimization

  • 'gridsearch''randomsearch'- 超参数的表所使用的,观测到的观测的目标函数值(交叉验证损失),和等级从最低(最好)至最高(最差)

IsBranchNode

一个<Ëm class="varname">ñ- 元素逻辑矢量IB那是真正的对于每个分支节点和的每个叶节点

ModelParameters

的物体保持参数

NumObservations

训练数据中的观察数,数值标量。NumObservations可以小于输入数据的行数吗X当有遗漏值在X或响应ÿ

NodeError

一个<Ëm class="varname">ñ元向量Ë节点的误差,其中<Ëm class="varname">ñ为节点数。的E(i)为节点的误分类概率一世

NodeMean

一个<Ëm class="varname">ñ-每个节点的均值的元素数值数组,其中<Ëm class="varname">ñ在树的节点数目。在每一个元素NodeMean是平均真实的ÿ值相对于在节点的所有观测。

NodeProbability

一个<Ëm class="varname">ñ元向量p的概率,其中<Ëm class="varname">ñ为节点数。一个节点的概率被计算为从满足该节点的条件的原始数据观测的比例。这一比例调整为分配给每个类中的任何先验概率。

NodeRisk

一个<Ëm class="varname">ñ节点的树,其中的风险 - 元素矢量<Ëm class="varname">ñ为节点数。每个节点的风险是由节点概率加权的节点错误。

NodeSize

一个<Ëm class="varname">ñ元向量大小中节点的大小,其中<Ëm class="varname">ñ为节点数。节点的大小定义为用于创建满足该节点条件的树的数据的观察次数。

NumNodes

节点数ñ

一个<Ëm class="varname">ñ元向量p含父节点的数目中的每个节点,其中<Ëm class="varname">ñ为节点数。根节点的父是0

PredictorNames

预测变量名称的单元阵列,在该命令在它们出现在X

PruneAlpha

数值向量与每修剪水平一种元素。如果修剪水平范围从0到<Ëm class="varname">中号, 然后PruneAlpha有<Ëm class="varname">中号+ 1个元素按升序排序。PruneAlpha(1)为修剪级别0(没有修剪),PruneAlpha(2)用于删除级别1,以此类推。

PruneList

一个<Ëm class="varname">ñ具有在每个节点中的修剪水平 - 元素数值向量,其中<Ëm class="varname">ñ为节点数。修剪的水平范围从0(没有修剪),以<Ëm class="varname">中号,其中<Ëm class="varname">中号最深的是叶子与根节点之间的距离。

ResponseName

指定响应变量的名称(A字符向量ÿ)。

ResponseTransform

用于将原始响应值(均方误差)功能的手柄。该功能句柄必须接受响应值的矩阵并返回相同大小的矩阵。默认'没有'手段@ x (x)或者没有改造。

添加或更改ResponseTransform使用点符号功能:

tree.ResponseTransform = @<Ëm class="replaceable">函数

RowsUsed

一个<Ëm class="varname">ñ指示 - 元素逻辑矢量其中原始预测数据的行(X)在拟合中使用。如果软件使用的所有行X, 然后RowsUsed为空数组([])。

SurrogateCutCategories

一个<Ëm class="varname">ñ类别 - 元素单元阵列用于替代分裂,其中<Ëm class="varname">ñ是节点的数量。对于每个节点ķSurrogateCutCategories {K}是一个单元阵列。长度SurrogateCutCategories {K}等于在这个节点中找到替代预测的数量。的每一个元素SurrogateCutCategories {K}或者是一种用于连续替代预测一个空字符向量,或者是两元件单元阵列与类别为范畴替代预测。通过该替代拆分分配给左子这两个元素的单元阵列列表类别的第一元件,和通过该替代拆分分配给右子这两个元素的单元阵列列表类别的第二元件。替代分裂变量中的每一个节点的顺序被匹配到的变量的顺序SurrogateCutPredictor。这个节点上的最优分割变量没有出现。对于非分枝(叶)节点,SurrogateCutCategories包含一个空单元格。

SurrogateCutFlip

一个<Ëm class="varname">ñ中用于代理分割的数值分割赋值的单元格数组,其中<Ëm class="varname">ñ是节点的数量。对于每个节点ķSurrogateCutFlip {k}是一个数值向量。长度SurrogateCutFlip {k}等于在这个节点中找到替代预测的数量。的每一个元素SurrogateCutFlip {k}为分类替代预测器,或一个数字切割为连续的替代预测分配或者为零。该数值极限分配可以是-1或+1。对于具有数字切每个替代拆分<Ëm class="varname">C基于连续预测变量<Ëm class="varname">ž,则选择左子元素ž<<Ëm class="varname">C这个代理分割的cut分配是+1,或者ifž≥<Ëm class="varname">C而这种替代拆分切割分配为-1。同样,右孩子如果选择ž≥<Ëm class="varname">C这个代理分割的cut分配是+1,或者ifž<<Ëm class="varname">C而这种替代拆分切割分配为-1。替代分裂变量中的每一个节点的顺序被匹配到的变量的顺序SurrogateCutPredictor。这个节点上的最优分割变量没有出现。对于非分枝(叶)节点,SurrogateCutFlip包含一个空数组。

SurrogateCutPoint

一个<Ëm class="varname">ñ中用于代理分割的数值的单元格数组,其中<Ëm class="varname">ñ是节点的数量。对于每个节点ķSurrogateCutPoint {k}是一个数值向量。长度SurrogateCutPoint {k}等于在这个节点中找到替代预测的数量。的每一个元素SurrogateCutPoint {k}或者是为NaN用于分类预测的替代,或一个数字切割为连续的替代指标。对于具有数字切每个替代拆分<Ëm class="varname">C基于连续预测变量<Ëm class="varname">ž,则选择左子元素ž<<Ëm class="varname">CSurrogateCutFlip这个替代拆分为+1,或者如果ž≥<Ëm class="varname">CSurrogateCutFlip对于这个代理,分割为-1。同样,右孩子如果选择ž≥<Ëm class="varname">CSurrogateCutFlip这个替代拆分为+1,或者如果ž<<Ëm class="varname">CSurrogateCutFlip对于这个代理,分割为-1。在每个节点上的代理分割变量的顺序与SurrCutPredictor。这个节点上的最优分割变量没有出现。对于非分枝(叶)节点,SurrogateCutPoint包含一个空单元格。

SurrogateCutType

一个<Ëm class="varname">ñ- 元素单元阵列指示在每个节点类型替代拆分的,其中<Ëm class="varname">ñ是节点的数量。对于每个节点ķSurrogateCutType {K}是一个单元阵列与所述类型的该节点的替代拆分变量。变量按与最优预测器的关联预测测度从高到低排序,仅包含具有正预测测度的变量。替代分裂变量中的每一个节点的顺序被匹配到的变量的顺序SurrogateCutPredictor。这个节点上的最优分割变量没有出现。对于非分枝(叶)节点,SurrogateCutType包含一个空单元格。代理项分割类型可以是其中之一'连续'如果切面在形式中被定义ž<V一个变量ž和切点V“绝对”如果切割被定义是否ž发生在一组类别的值。

SurrogateCutPredictor

一个<Ëm class="varname">ñ变量的名称 - 元素单元阵列中的每个节点用于替代拆分,其中<Ëm class="varname">ñ是节点的数量。的每一个元素SurrogateCutPredictor是包含此节点上代理分割变量名称的单元数组。变量按与最优预测器的关联预测测度从高到低排序,仅包含具有正预测测度的变量。这个节点上的最优分割变量没有出现。对于非分枝(叶)节点,SurrogateCutPredictor包含一个空单元格。

SurrogatePredictorAssociation

一个<Ëm class="varname">ñ的关联的预测措施 - 元素单元阵列用于替代分裂,其中<Ëm class="varname">ñ是节点的数量。对于每个节点ķSurrogatePredictorAssociation {K}是一个数值向量。长度SurrogatePredictorAssociation {K}等于在这个节点中找到替代预测的数量。的每一个元素SurrogatePredictorAssociation {K}给出最优分裂,这种替代拆分之间的关​​联的预测指标。在每个节点处的替代拆分变量的顺序是变量的顺序SurrogateCutPredictor。这个节点上的最优分割变量没有出现。对于非分枝(叶)节点,SurrogatePredictorAssociation包含一个空单元格。

w ^

的比例权重与长度的矢量ñ中,行中的数X

X

预测值的矩阵或表。的每一列X表示一个可变的,并且每行表示一个观察。

ÿ

具有相同数量的行作为数字列向量X。在每个条目ÿ是的相应行中的数据的响应X

方法

紧凑 紧凑型回归树
crossval 交叉验证决策树
cvloss 通过交叉验证回归错误
修剪 通过修剪产生回归子树的序列
resubLoss 通过重新替换的回归误差
resubPredict 预测树resubstitution响应

继承的方法

失利 回归错误
预测 预测采用回归树响应
predictorImportance 预测的重要性估计回归树
surrogateAssociation 在回归树替代拆分协会的预测均值衡量
视图 查看回归树

复制语义

价值。要了解值类如何影响复制操作,请参见复制对象(MATLAB)。

例子

全部折叠

加载示例数据。

加载carsmall

建立基于样本数据进行回归树。响应变量是每加仑,MPG英里。

树= fitrtree([重量,气瓶],MPG,...'CategoricalPredictors',2,“MinParentSize”,20岁,...'PredictorNames',{'W''C'})
树= RegressionTree PredictorNames:{ 'W' 'C'} ResponseName: 'Y' CategoricalPredictors:2 ResponseTransform: '无' NumObservations:94的属性,方法

预测的4000磅的汽车的里程与4,6,和8汽缸。

MPG4Kpred =预测(树,[4000 4 4000 6 4000 8])
MPG4Kpred =3×119.2778 19.2778 14.3889

参考

[1] Breiman,L.,J。弗里德曼,R. Olshen,和C.石。<Ëm class="citetitle">分类和回归树。佛罗里达,博卡拉顿:CRC出版社,1984年。

扩展功能

介绍了R2011a