主要内容

预测

使用袋装决策树的集合预测响应

语法

Yfit =预测(B,X)
Yfit = predict(B,X,名称,值)
[Yfit,stdevs] =预测(___
[Yfit,scores] = predict(预测)___
[Yfit,scores,stdevs] = predict(预测)___

描述

Yfit =预测(B,X)返回表或矩阵中预测器数据的预测响应向量X,基于袋装决策树的集合BYfit是用于分类的字符向量的单元格数组和用于回归的数值数组。默认情况下,预测选取集合中所有树的民主(非加权)平均投票。

B是受过训练的TreeBagger对象返回的模型TreeBagger函数。

X是用于生成响应的预测器数据的表格或矩阵。行表示观察结果,列表示变量。

  • 如果X是数值矩阵:

    • 组成列的变量X必须与训练的预测变量有相同的顺序B

    • 如果你受过训练B使用表格(例如,资源描述),然后X可以是一个数字矩阵如果资源描述包含所有数值预测变量。处理中的数值预测器资源描述作为分类训练,识别分类预测器使用CategoricalPredictors的名称-值对参数TreeBagger函数。如果资源描述包含异构预测变量(例如,数字和分类数据类型)和X是数字矩阵吗预测抛出错误。

  • 如果X是一个表:

    • 预测不支持多列变量或除金宝app字符向量的单元格数组外的单元格数组。

    • 如果你受过训练B使用表格(例如,资源描述),然后输入所有预测变量X必须具有与训练的相同的变量名和相同的数据类型B(存储在B.PredictorNames).的列序X是否需要对应的列顺序资源描述资源描述而且X可以包含额外的变量(响应变量,观察权重等),但是预测忽略了它们。

    • 如果你受过训练B使用一个数字矩阵,然后预测器名称在B.PredictorNames和相应的预测变量名X一定是一样的。若要在训练期间指定预测器名称,请参阅PredictorNames的名称-值对参数TreeBagger.所有预测变量X必须是数值向量。X可以包含额外的变量(响应变量,观察权重等),但是预测忽略了它们。

Yfit = predict(B,X,名称,值使用一个或多个名称-值对参数指定其他选项:

  • “树”-用于计算响应的树索引数组。默认为“所有”

  • “TreeWeights”-数组NTrees用于加权来自指定树的投票的权重,其中NTrees是集合中树的数量。

  • “UseInstanceForTree”-大小的逻辑矩阵脑袋——- - - - - -NTrees指示使用哪棵树来预测每个观察结果,在哪里脑袋是观测的数量。默认情况下,所有树都用于所有观察。

对于回归,[Yfit,stdevs] =预测(___还返回使用以前语法中任何输入参数组合的已生长的树的集合的计算响应的标准偏差。

的分类,[Yfit,scores] = predict(预测)___还返回所有类的分数。分数是一个矩阵,每个观察值有一行,每个类有一列。对于每个观察和每个类,每棵树生成的分数是来自该类的观察的概率,计算为树叶中该类观察的分数。预测将这些分数平均到集合中的所有树。

[Yfit,scores,stdevs] = predict(预测)___还返回用于分类的计算分数的标准偏差。方差是一个矩阵,每个观察值有一行,每个类有一列,对生长的树的集合采用标准偏差。

算法

  • 对于回归问题,观测结果的预测响应是仅使用所选树的预测的加权平均。也就是说,

    y 1 t 1 T α t t 年代 t 1 T α t y t t 年代

    • y t 预测来自树吗t在合奏中。

    • 年代所选树的索引集是否构成了预测(参见而且UseInstanceForTree). t 年代 如果是1t在集合中年代,否则为0。

    • αt树的重量是多少t(见TreeWeights).

  • 对于分类问题,观测结果的预测类别是仅使用所选树计算的类别后验概率(即分类分数)的最大加权平均值的类别。也就是说,

    1. 每门课cC每棵树t= 1,…,T预测计算 P t c | x ,为类的估计后验概率c鉴于观察x使用树tC是训练数据中所有不同类别的集合。有关分类树后验概率的详细信息,请参见fitctree而且预测

    2. 预测计算所选树的类后验概率的加权平均值。

      P c | x 1 t 1 T α t t 年代 t 1 T α t P t c | x t 年代

    3. 预测的类别是产生最大加权平均值的类别。

    y 参数 马克斯 c C P c | x