主要内容

RegressionPartitionedModel

包:ClassReg.Learning.Partition.

交叉验证的回归模型

描述

RegressionPartitionedModel是一组回归模型,在交叉验证的折叠上培训。使用一个或多个“kfold”方法,通过交叉验证估计回归质量:KfoldpredictKfoldloss.,kfoldfun。每个“KFOLD”方法使用培训的模型在折叠的观察中预测对折叠异观的响应。例如,假设您使用五个折叠交叉验证。在这种情况下,每次训练折叠大约包含4/5的数据,每个测试折叠都包含大约1/5的数据。存储在第一个模型训练{1}训练有素Xy与第一个1/5排除在外,存储在第二种模型训练{2}训练有素Xy第二个1/5被排除在外,等等。你打电话的时候Kfoldpredict,它使用第一个模型计算前1/5数据的预测,使用第二个模型计算后1/5数据的预测,以此类推。简而言之,每一次观察的反应都是由Kfoldpredict使用没有观察到的模型。

施工

cvmodel.= Crossval(从回归树中创建交叉验证的分类模型。对于语法详细信息,请参阅横梁方法参考页面。

cvmodel = fitrtree(x,y,名称,值)创建交叉验证的模型名称是其中之一'横向''kfold''坚持''忽略', 要么“CVPartition”。对于语法详细信息,请参阅fitrtree.功能参考页面。

输入参数

建造的回归树fitrtree.

属性

BinEdges

数字预测器的Bin边缘,指定为单元数组P.数字向量,在哪里P.是预测器的数量。每个矢量包括用于数字预测器的箱边缘。用于分类预测器的单元阵列中的元素是空的,因为软件没有箱分类预测器。

只有当您指定'numbins'名称 - 值对参数作为正整数标量培训与树学习者的模型。该BinEdges属性为空'numbins'值为空(默认值)。

您可以重现Binned Predictor数据xbinned.通过使用BinEdges训练模型的性质mdl

x = mdl.x;%predictor数据xbinned = zeros(size(x));边缘= mdl.bineges;%查找箱预测因子的指数。idxnumeric = find(〜cellfun(@ isempty,边));如果是iscumn(idxnumeric)idxnumeric = idxnumeric';j = idxnumeric x = x(:,j);如果x是表,%将x转换为数组。如果是Istable(x)x = table2array(x);结束%X通过使用X进入垃圾箱离散化功能。xbinned =离散化(x,[ -  inf;边缘{j}; inf]);Xbinned(:,j)= xbinned;结束
xbinned.包含数字预测器的容器索引,范围从1到容器数量。xbinned.对于分类预测器,值为0。如果X包含s,然后相应的xbinned.价值是s。

CategoricalPredictors

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

CrossValidatedModel.

交叉验证模型的名称,字符向量。

kfold.

交叉验证树中使用的折叠数,正整数。

模特分析者

持有参数的对象

划分

课程的分区CVPartition.用于交叉验证的模型。

PredictorNames

预测器变量的一个小区数组,按照它们出现的顺序X

ractraceame.

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

OrkeTransform.

转换原始响应值(均方误差)的函数句柄。函数句柄应该接受一个包含响应值的矩阵,并返回一个相同大小的矩阵。默认的字符向量'没有'意味着@ x (x),或者没有变形。

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

ctree.responsetransform = @函数

训练有素

训练有素的学习者,一个紧凑回归模型的细胞阵列。

W.

的比例权重,一个有长度的向量N的行数X

X

预测值的矩阵或表格。每列X表示一个变量,每行代表一个观察。

y

数字列向量,具有相同的行数为X。每个条目y是对相应行中的数据的响应X

方法

Kfoldloss. 划分回归模型的交叉验证损失
Kfoldpredict 预测不用于培训的观察的响应
kfoldfun 交叉验证函数

复制语义

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

例子

全部收缩

加载样本数据。创建一个变量X包含马力重量数据。

加载carsmallx = [马力重量];

使用示例数据构造回归树。

cvtree = fitrtree (X,英里/加仑,“crossval”'上');

评估交叉验证错误carsmall数据使用马力重量作为里程(MPG.)。

L = kfoldLoss (cvtree)
L = 25.5338.