主要内容

预测

预测使用分类树标签

描述

标签=预测(Mdl,X)返回一个矢量预测类标签的预测数据表或矩阵X基于训练,全部或紧凑的分类树Mdl

标签=预测(Mdl,X,名称,值)使用指定的一个或多个额外的选项名称,值对参数。例如,您可以指定删除Mdl前一个特定水平预测标签。

(标签,分数,节点,cnum)=预测(___)使用任何输入参数在前面的语法和另外的回报:

  • 一个矩阵的分类评分(分数)显示一个标签的可能性来自于一个特定的类。分类树,分数是后验概率。为每一个观察X,预测类标签对应于最低预期的误分类代价在所有类。

  • 一个向量分类预测节点数(节点)。

  • 一个向量的预测分类类数(cnum)。

输入参数

全部展开

训练有素的分类树,指定为一个ClassificationTreeCompactClassificationTree模型对象。也就是说,Mdl返回的是一个训练分类模型fitctree紧凑的

预测数据分类,指定为一个数字矩阵或表。

每一行的X对应于一个观察,每一列对应一个变量。

  • 一个数字矩阵:

    • 变量的列X必须有相同的订单预测变量,训练吗Mdl

    • 如果你训练Mdl使用一个表(例如,资源描述),然后X可以是一个数字矩阵如果资源描述包含所有数值预测变量。将数值预测资源描述分类在训练、识别分类预测使用CategoricalPredictors名称-值对的观点fitctree。如果资源描述包含了异构预测变量(例如,数字和分类数据类型)X是一个数字矩阵,然后呢预测抛出一个错误。

  • 一个表:

    • 预测不支持多列变量和细金宝app胞数组以外的细胞阵列的特征向量。

    • 如果你训练Mdl使用一个表(例如,资源描述),那么所有的预测变量X必须有相同的变量名和数据类型的培训Mdl(存储在Mdl.PredictorNames)。然而,列的顺序X不需要对应的列顺序资源描述资源描述X可以包含额外的变量(响应变量,观察体重、等等),但预测忽略了它们。

    • 如果你训练Mdl使用一个数字矩阵,然后预测名称Mdl.PredictorNames和相应的预测变量名称X必须相同。指定预测名称在训练,看到PredictorNames名称-值对的观点fitctree。所有的预测变量X必须是数值向量。X可以包含额外的变量(响应变量,观察体重、等等),但预测忽略了它们。

数据类型:||

名称-值对的观点

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

修剪水平,指定为逗号分隔组成的“子树”和一个向量的非负整数按升序或“所有”

如果您指定一个矢量,然后所有的元素都必须至少0在大多数马克斯(Mdl.PruneList)0显示完整的,unpruned树马克斯(Mdl.PruneList)表示完全修剪树(即。,只有根节点)。

如果您指定“所有”,然后预测运行在所有子树(即。,ent我re pruning sequence). This specification is equivalent to using0:马克斯(Mdl.PruneList)

预测李子Mdl每个级别表示子树,然后估计相应的输出参数。的大小子树确定一些输出参数的大小。

调用子树,属性PruneListPruneAlphaMdl必须非空的。换句话说,成长Mdl通过设置“删除”,“上”,或者通过修剪Mdl使用修剪

例子:“子树”,“所有”

数据类型:||字符|字符串

输出参数

全部展开

预测类标签,作为一个向量或数组返回。每个条目的标签对应的类以最小的预期成本相应的行X

假设子树是一个数值向量包含吗T元素(“所有”,请参阅子树),XN行。

  • 如果响应数据类型字符和:

    • T= 1,然后标签是一个字符矩阵包含吗N行。每行包含预测的标签产生的子树子树

    • T> 1,那么标签是一个N——- - - - - -T单元阵列。

  • 否则,标签是一个N——- - - - - -T数组具有相同的数据类型作为响应。(软件对字符串数组作为细胞阵列特征向量)。

后两个情况下,列j标签包含预测的向量标签产生的子树子树(j)

后验概率,返回的数值矩阵的大小N——- - - - - -K,在那里N观察(行)的数量吗X,K类的数量(在吗Mdl.ClassNames)。评分(i, j)后验概率这一行吗X的类j

如果子树T元素,XN行,然后分数是一个N——- - - - - -K——- - - - - -T数组,并节点cnumN——- - - - - -T矩阵。

节点编号为预测类,作为一个数值向量返回。每个条目对应于预测节点Mdl相应的行X

类数字对应于预测标签,作为一个数字返回向量。每个条目的cnum对应于一个预测类数量相应的行X

例子

全部展开

检查预测几行数据集的训练。

加载费雪的虹膜数据集。

负载fisheriris

分区数据训练(50%)和验证(50%)。

1)n =大小(量;rng (1)%的再现性idxTrn = false (n, 1);idxTrn (randsample (n,圆(0.5 * n))) = true;%训练集逻辑索引idxVal = idxTrn = = false;%验证设置合理的指标

使用训练集的分类树生长。

Mdl = fitctree(量(idxTrn:),物种(idxTrn));

预测验证数据标签。数的数量分类错误的观察。

标签=预测(Mdl量(idxVal:));标签(randsample(元素个数(标签),5))%显示几个预测标签
ans =5 x1细胞{' setosa} {‘setosa} {‘setosa} {‘virginica}{“癣”}
numMisclass =总和(~ strcmp(标签,物种(idxVal)))
numMisclass = 3

软件分类三个样本外观察。

加载费雪的虹膜数据集。

负载fisheriris

分区数据训练(50%)和验证(50%)。

1)n =大小(量;rng (1)%的再现性idxTrn = false (n, 1);idxTrn (randsample (n,圆(0.5 * n))) = true;%训练集逻辑索引idxVal = idxTrn = = false;%验证设置合理的指标

使用训练集的分类树,然后把它。

Mdl = fitctree(量(idxTrn:),物种(idxTrn));视图(Mdl,“模式”,“图”)

由此产生的树有四个水平。

估计后验概率的测试集使用子树修剪水平1和3。

[~,后]=预测(Mdl量(idxVal:)“子树”3 [1]);Mdl.ClassNames
ans =3 x1细胞{' setosa}{“癣”}{' virginica '}
后(randsample(大小(后,1),5),:,:),%显示几个后验概率
ans = ans (:: 1) = 1.0000 0 0 0 0 0 0 0 0 1.0000 1.0000 1.0000 0.8571 - 0.1429 ans (:,: 2) = 0.3733 0.3200 0.3067 0.3733 0.3200 0.3067 0.3733 0.3200 0.3067 0.3733 0.3200 0.3067 0.3733 0.3200 0.3067

的元素类的后验概率:

  • 行对应于观测的验证集。

  • 列对应中列出的类Mdl.ClassNames

  • 页面对应的子树。

1级的子树修剪是肯定的预测比三级(即子树修剪。根节点)。

更多关于

全部展开

算法

预测遵循的分支生成预测Mdl直到它到达一个叶子节点或缺失值。如果预测到达一个叶子节点,则返回该节点的分类。

如果预测到达一个节点与一个缺失值预测,其行为取决于的设置代理名称-值对的时候fitctree构造Mdl

  • 代理=“关闭”(默认)预测返回标签的训练样本数量达到最大的节点。

  • 代理=“上”- - - - - -预测使用最好的代理分节点。如果所有的代理变量与积极的分裂预测的协会人失踪,预测返回标签的训练样本数量达到最大的节点。一个定义,请参阅预测的协会

扩展功能

介绍了R2011a