主要内容

CompactRegressionTree

包:classreg.learning.regr

紧致回归树

描述

回归树(类的)的压缩版本RegressionTree).精简版不包括训练回归树的数据。因此,您不能使用紧凑的回归树执行某些任务,例如交叉验证。使用紧凑的回归树对新数据进行预测(回归)。

建设

ctree=紧凑(从完整决策树构造紧凑决策树。

输入参数

全部展开

完整的训练过的回归树,指定为RegressionTree构造的对象fitrtree

属性

CategoricalPredictors

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

CategoricalSplits

一个n-by-2单元格数组,其中n分类分割的数量是多少.每一行CategoricalSplits给出分类分割的左右值。对每个分支节点进行分类分割j基于分类预测变量z,则左子元素被选中z是在CategoricalSplits (j, 1)如果z是在CategoricalSplits (j, 2).分割的顺序与树节点的顺序相同。可以通过运行来找到这些分割的节点cuttype并选择“分类”从上到下切。

孩子们

一个n中每个节点的子节点的编号,在那里n为节点数。叶子节点有子节点0

CutCategories

一个n中分支使用的类别的-by-2单元数组,在那里n为节点数。对于每个分支节点基于分类预测变量x,则左子元素被选中x所列的类别中CutCategories{1},我,则选择正确的子节点x是在CutCategories{2},我.两列CutCategories对于基于连续预测器的分支节点和叶节点,为空。

割点包含的切点“连续”削减,CutCategories包含类别集。

割点

一个n-元素向量的值用作切割点,在那里n为节点数。对于每个分支节点基于一个连续的预测变量x,则左子元素被选中割点< v(我)如果x > =割点(我)割点对于基于分类预测器的分支节点和叶节点。

CutType

一个n元素单元格数组,表示在每个节点上的切割类型,在那里n为节点数。对于每个节点CutType{我}是:

  • “连续”—如果在表单中定义了切割X < v对于一个变量x切割点v

  • “分类”—若切定义为是否变量x获取一组类别中的值。

  • ——如果是叶节点。

割点包含的切点“连续”削减,CutCategories包含类别集。

CutPredictor

一个n中每个节点中用于分支的变量名称的单元格数组,在那里n为节点数。这些变量有时被称为减少变量.对于叶节点,CutPredictor包含一个空字符向量。

割点包含的切点“连续”削减,CutCategories包含类别集。

CutPredictorIndex

一个n用于分支的每个节点的变量的数值索引数组,在那里n为节点数。有关更多信息,请参见CutPredictor

ExpandedPredictorNames

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

如果模型对分类变量使用编码,则ExpandedPredictorNames包括描述展开变量的名称。否则,ExpandedPredictorNamesPredictorNames

IsBranchNode

一个n-元素逻辑向量ib这是真正的对于每个分支节点和的每个叶节点

NodeError

一个n元向量e节点的误差,在那里n为节点数。e(我)节点的错分类概率是多少

NodeMean

一个n的每个节点中都有平均值的element数值数组,在那里n是树中的节点数。每一个元素NodeMean平均值是真的吗Y节点中所有观测值的值。

NodeProbability

一个n元向量p节点的概率,在那里n为节点数。一个节点的概率是通过原始数据中满足该节点条件的观测值的比例来计算的。这个比例根据分配给每个类的任何先验概率进行调整。

NodeRisk

一个n-树中节点风险的element向量,其中n为节点数。每个节点的风险是由节点误差加权的节点概率。

NodeSize

一个n元向量大小节点的大小,在那里n为节点数。节点的大小定义为用于创建满足节点条件的树的数据的观察数。

NumNodes

节点数量n

一个n元向量p中每个节点的父节点号,在那里n为节点数。根节点的父节点为0

PredictorNames

预测变量名称的单元格数组,按它们出现的顺序排列X

PruneAlpha

数字向量,每个修剪级别有一个元素。如果修剪级别为0 ~,然后PruneAlpha+ 1个元素按升序排序。PruneAlpha (1)用于0级修剪(不修剪),PruneAlpha (2)用于修剪级别1,依此类推。

PruneList

一个n的每个节点的剪枝级别,在那里n为节点数。修剪级别从0(不修剪)到,在那里最深的叶节点和根节点之间的距离。

ResponseName

响应变量的名称Y,一个字符向量。

ResponseTransform

转换原始响应值(均方误差)的函数句柄。函数句柄必须接受一个响应值矩阵并返回一个相同大小的矩阵。默认的“没有”意味着@ x (x),或者没有变换。

添加或更改ResponseTransform函数使用点表示法:

ctree。ResponseTransform = @函数

SurrogateCutCategories

一个n用于代理分割的类别的element单元格数组,在那里n节点个数是否到位.对于每个节点kSurrogateCutCategories {k}是单元格数组。的长度SurrogateCutCategories {k}等于在此节点上找到的代理预测器的数量。每一个元素SurrogateCutCategories {k}是连续代理预测器的空字符向量,还是类别代理预测器的包含类别的两元素单元格数组。这个两元素单元格数组的第一个元素列出了由代理分裂分配给左子元素的类别,这个两元素单元格数组的第二个元素列出了由代理分裂分配给右子元素的类别。每个节点上的代理拆分变量的顺序与节点中的变量的顺序匹配SurrogateCutPredictor.此节点上的最佳分割变量不会出现。对于非分支(叶)节点,SurrogateCutCategories包含一个空单元格。

SurrogateCutFlip

一个n用于代理分割的数值切割分配的单元格数组,在那里n节点个数是否到位.对于每个节点kSurrogateCutFlip {k}是数值向量。的长度SurrogateCutFlip {k}等于在此节点上找到的代理预测器的数量。每一个元素SurrogateCutFlip {k}对于分类代理预测器为0,对于连续代理预测器为数值切割赋值。数值切割分配可以是-1或+1。每个代理都有一个数字分割C基于一个连续的预测变量Z,则左子元素被选中Z<C这个代理分割的切割分配是+1,或者ZC这个代理分割的切割值是-1。类似地,如果ZC这个代理分割的切割分配是+1,或者Z<C这个代理分割的切割值是-1。每个节点上的代理拆分变量的顺序与节点中的变量的顺序匹配SurrogateCutPredictor.此节点上的最佳分割变量不会出现。对于非分支(叶)节点,SurrogateCutFlip包含一个空数组。

SurrogateCutPoint

一个n用于代理分割的数值的单元格数组,在那里n节点个数是否到位.对于每个节点kSurrogateCutPoint {k}是数值向量。的长度SurrogateCutPoint {k}等于在此节点上找到的代理预测器的数量。每一个元素SurrogateCutPoint {k}要么是对于分类替代预测器,或连续替代预测器的数字切割。每个代理都有一个数字分割C基于一个连续的预测变量Z,则左子元素被选中Z<C而且SurrogateCutFlip对于这个代理拆分为+1,或者ifZC而且SurrogateCutFlip这个代理的分割是-1。类似地,如果ZC而且SurrogateCutFlip对于这个代理拆分为+1,或者ifZ<C而且SurrogateCutFlip这个代理的分割是-1。在每个节点上的代理拆分变量的顺序与返回的变量的顺序相匹配SurrogateCutVar.此节点上的最佳分割变量不会出现。对于非分支(叶)节点,SurrogateCutPoint包含一个空单元格。

SurrogateCutType

一个n中每个节点上的代理拆分类型的单元格数组,在那里n节点个数是否到位.对于每个节点kSurrogateCutType {k}是一个单元格数组,其中包含此节点上的代理程序拆分变量的类型。变量按照与最优预测因子关联的预测测度排序,按降序排列,仅包含具有正预测测度的变量。每个节点上的代理拆分变量的顺序与节点中的变量的顺序匹配SurrogateCutPredictor.此节点上的最佳分割变量不会出现。对于非分支(叶)节点,SurrogateCutType包含一个空单元格。代理拆分类型可以是任意一种“连续”如果在窗体中定义了切割Z<V对于一个变量Z切割点V“分类”是否切割定义为是否Z获取一组类别中的值。

SurrogateCutPredictor

一个n中每个节点中用于代理分割的变量名称的单元格数组,在那里n节点个数是否到位.每一个元素SurrogateCutPredictor具有此节点上的代理程序拆分变量名称的单元格数组。变量按照与最优预测因子关联的预测测度排序,按降序排列,仅包含具有正预测测度的变量。此节点上的最佳分割变量不会出现。对于非分支(叶)节点,SurrogateCutPredictor包含一个空单元格。

SurrogatePredictorAssociation

一个n-元单元阵列的关联预测措施的代理分裂在,在那里n节点个数是否到位.对于每个节点kSurrogatePredictorAssociation {k}是数值向量。的长度SurrogatePredictorAssociation {k}等于在此节点上找到的代理预测器的数量。每一个元素SurrogatePredictorAssociation {k}给出了最佳分割和代理分割之间关联的预测度量。每个节点上的代理拆分变量的顺序就是其中变量的顺序SurrogateCutPredictor.此节点上的最佳分割变量不会出现。对于非分支(叶)节点,SurrogatePredictorAssociation包含一个空单元格。

对象的功能

损失 回归误差
partialDependence 计算部分依赖关系
plotPartialDependence 创建部分依赖图(PDP)和个别条件期望图(ICE)
预测 使用回归树预测响应
predictorImportance 回归树预测因子重要性的估计
surrogateAssociation 回归树中代理分裂关联的平均预测度量
更新 更新用于代码生成的模型参数
视图 视图回归树

复制语义

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

例子

全部折叠

加载样例数据。

负载carsmall

为样本数据构造一个回归树。

tree = fitrtree([重量,气缸],MPG,...“MinParentSize”, 20岁,...“PredictorNames”, {' W '“C”});

制作一个紧凑版本的树。

Ctree = compact(树);

将紧凑树的大小与完整树的大小进行比较。

T = who (“树”);% t.bytes =树大小(以字节为单位)C = whos(“ctree”);% c.bytes = ctree的大小,单位为字节[c。字节t.bytes]
ans =1×24311 7558

紧凑树比完整树小。

扩展功能

在R2011a中引入