主要内容

ClassificationededModel.

包裹:ClassReg.Learning.Partition.

交叉验证的分类模型

描述

ClassificationededModel.是一组在交叉验证折叠上培训的分类模型。使用一个或多个“kfold”方法,通过交叉验证估计分类的质量:KfoldpredictKfoldloss.Kfoldmargin.Kfoldedge, 和kfoldfun.

每种“kfold”方法使用培训的模型在折叠的观察中预测折叠折叠观察的响应。例如,假设您使用五个折叠交叉验证。在这种情况下,软件随机将每个观察分配为五个大致相同的组。这训练折叠包含四个组(即,大约4/5的数据)和测试折叠包含其他组(即,大约1/5的数据)。在这种情况下,交叉验证进行如下:

  • 该软件列举了第一个模型(存储在cvmdl.tromed {1})使用最后四组中的观察,并保留第一个组中的观察结果进行验证。

  • 该软件列举了第二种模型(存储在cvmdl.tromed {2})使用第一组和最后三组的观察,并保留第二组的观察结果进行验证。

  • 软件以类似的方式进行第三到第五模型。

如果您通过致电验证Kfoldpredict,它使用第一个模型,第2组用于第二模型的第1组的观察的预测,等等。简而言之,软件估计使用没有该观察的模型训练的模型对每个观察的响应。

建造

cvmdl.= Crossval(MDL.从分类模型创建交叉验证的分类模型(MDL.)。

或者:

  • cvdiscrmdl = fitcdiscr(x,y,名称,值)

  • cvknnmdl = fitcknn(x,y,名称,值)

  • cvnetmdl = fitcnet(x,y,名称,值)

  • cvnbmdl = fitcnb(x,y,名称,值)

  • cvsvmmdl = fitcsvm(x,y,名称,值)

  • cvtreemdl = fitctree(x,y,名称,值)

创建交叉验证的模型姓名或者是'横向''kfold''坚持''忽略', 或者'cvpartition'。有关语法详细信息,请参阅fitcdiscr.Fitcknn.Fitcnet.Fitcnb.fitcsvm., 和fitctree

输入参数

MDL.

分类模型,指定为以下之一:

  • 使用培训的分类树fitctree

  • 判断使用的判别分析分类器使用fitcdiscr.

  • 使用培训的神经网络分类器Fitcnet.

  • 一个天真的贝母分类器使用Fitcnb.

  • 训练使用最近的邻居分类器Fitcknn.

  • 支持金宝app的支持向量机器分类器使用fitcsvm.

特性

毕业生

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

只有在指定的情况下,软件箱体才能指定数字预测器'numbins'名称 - 值参数作为带有树学习者培训模型时的正整数标量。这毕业生房产是空的'numbins'值为空(默认值)。

您可以重现Binned Predictor数据Xbinned.通过使用毕业生培训模型的财产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。

分类预测器

分类预测索引指定为正整数的向量。假设预测器数据包含行中的观察,分类预测器包含与包含分类预测器的预测器数据列对应的索引值。如果没有预测器都是分类的,则此属性是空的([])。

如果MDL.是训练有素的判别分析分类器,然后是分类预测器总是空的([])。

Classnames.

用于培训模型的唯一类标签,指定为分类或字符阵列,逻辑或数字矢量或字符向量的单元格数组。

成本

方矩阵,在哪里成本(i,j)是将一个点分类为课程的成本j如果它的真实课程是一世(即,行对应于真实类,列对应于预测类)。行和列的顺序成本对应于类的顺序Classnames.。行数和列的数量成本是响应中唯一类的数量。

如果cvmodel.是交叉验证的分类Discriminant.ClassificationKnn., 或者ClassificationniveBayes.模型,然后您可以将其成本矩阵更改为例如,Costmatrix.,使用点表示法。

cvmodel.cost = costmatrix;

CrossValidatedModel.

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

kfold.

交叉验证模型中使用的折叠数,这是一个正整数。

模特分析者

持有参数的对象cvmodel.

numobservations.

存储在训练数据中的观察次数Xy,指定为数字标量。

划分

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

预测

预测器变量名称指定为字符向量的单元格数组。元素的顺序预测对应于预测器名称在训练数据中出现的顺序。

事先的

每个班级的先前概率的数字矢量。元素的顺序事先的对应于类的顺序Classnames.

如果cvmodel.是交叉验证的分类Discriminant.或者ClassificationniveBayes.模型,然后您可以将其向量向量换档到例如,PriorVector.,使用点表示法。

cvmodel.prior = praftvector;

ractraceame.

响应变量名称,指定为字符向量。

scoretransform.

分数转换,指定为字符向量或功能句柄。scoretransform.表示用于转换预测分类分数的内置变换函数或功能手柄。

更改分数转换功能功能例如,使用点表示法。

  • 对于内置函数,输入字符向量。

    mdl.scoretransform ='功能'

    此表介绍了可用的内置功能。

    价值 描述
    'doublelogit' 1 /(1 +E.-2X
    'invlogit' 日志(X/(1 -X)))
    'ismax' 将具有最大分数的类设置为1的分数,并将所有其他类的分数设置为0
    'logit' 1 /(1 +E.-X
    '没有任何'或者'身份' X(没有转型)
    '标志' -1 for.X<0
    0X= 0.
    1X> 0
    '对称' 2X- 1
    'ymmetricismax' 将具有最大分数为1的类设置分数,并将所有其他类的分数设置为-1
    'symmetriclogit' 2 /(1 +E.-X) - 1

  • 对于matlab.®函数或定义的函数输入其功能句柄。

    mdl.scoretransform = @功能;

    功能必须接受矩阵(原始分数)并返回相同大小的矩阵(转换的分数)。

训练有素

训练有素的学习者,它是紧凑型分类模型的单元格阵列。

W.

鳞片重量,这是一个长度的向量N.,观察人数X

X

预测值的矩阵或表格。

y

为每个观察指定类标签的分类或字符阵列,逻辑或数字矢量或字符向量的单元格数组。每一个条目y是相应观察的响应值X

对象功能

Kfoldedge 交叉验证分类模型的分类边缘
Kfoldloss. 交叉验证分类模型的分类损失
Kfoldmargin. 交叉验证分类模型的分类边距
Kfoldpredict 对交叉验证的分类模型进行分类观察
kfoldfun. 交叉验证功能进行分类

复制语义

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

例子

全部收缩

评估K.- 分类树模型的交叉验证错误。

装载Fisher的Iris数据集。

加载渔民

使用默认选项列车分类树。

MDL = FITCTREE(MEAS,物种);

交叉验证分类树模型。

cvmdl = crossval(mdl);

估计10倍交叉验证损失。

l = kfoldloss(cvmdl)
L = 0.0533.

估计SVM算法测试集的正类后验概率。

加载电离层数据集。

加载电离层

训练SVM分类器。指定20%HoldOut示例。良好的做法是为了标准化预测器并指定类顺序。

RNG(1)重复性的%cvsvmmodel = fitcsvm(x,y,'坚持',0.2,'标准化',真的,......'classnames',{'B''G'});

cvsvmmodel.是训练有素的ClassificationededModel.交叉验证的分类器。

估计映射观察分数的最佳分数函数,以分类为观察的后验概率'G'

scorecvsvmmodel = fitsvmposterior(cvsvmmodel);

scorsvmmodel.是训练有素的ClassificationededModel.包含从训练数据估计的最佳分数转换功能的交叉验证分类器。

估算样本外呈正类后概率。显示前10个外观观测结果的结果。

[〜,OospostProbs] = kfoldpredict(scorecvsvmmodel);Indx =〜Isnan(OospostProbs(:,2));hoobs = find(indx);%HoldOut观察号OospostProbs = [Hoobs,OospostProbs(Indx,2)];表(OospostProbs(1:10,1),OospostProbs(1:10,2),......'variablenames',{'abangationIndex''后摩降性'})
ans =.10×2表AbservationIndInx后验性能___________________________________ 6 0.17379 7 0.89638 8 0.91606 0.91603 16 0.91603 0.026714 22 4.6086E-06 0.9024 22 2.4131C-06 38 0.042687 41 0.86427 41 0.86427

提示

估计训练,交叉验证的SVM分类器的后验概率,使用fitsvmposterior.

扩展能力