主要内容

ClassificationPartitionedModel

包:classreg.learning.partition

旨在分类模型

描述

ClassificationPartitionedModel是一组分类模型的训练旨在折叠。估计的质量分类交叉验证使用一个或多个“kfold”方法:kfoldPredict,kfoldLoss,kfoldMargin,kfoldEdge,kfoldfun

每个“kfold”方法使用模型训练的观测预测out-of-fold观察的反应。例如,假设您使用5折交叉验证。在这种情况下,软件随机分配每个观测分成大致相等大小的五组。的培训褶皱(即包含的四个组。,roughly 4/5 of the data) and the测试褶皱包含另一组(即。,大约1/5的数据)。在这种情况下,交叉验证收益如下:

  • 软件培训(存储在第一个模型CVMdl.Trained {1})使用观察过去四组和储备第一组的观测验证。

  • 软件培训(存储在第二个模型CVMdl.Trained {2})使用观察第一组最后三组,在第二组和保留观察验证。

  • 软件第三至第五收益以类似的方式模型。

如果验证通过调用kfoldPredict的观测,计算预测使用第一个模型组1,组2第二模式,等等。简而言之,每个观测使用的软件估计响应模型训练没有观察。

建设

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,名称,值)

当创建一个旨在模型的名字要么是“CrossVal”,“KFold”,“坚持”,“Leaveout”,或“CVPartition”。语法细节,请参阅fitcdiscr,fitcknn,fitcnet,fitcnb,fitcsvm,fitctree

输入参数

Mdl

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

  • 一个分类树训练使用fitctree

  • 判别分析分类器训练使用fitcdiscr

  • 神经网络分类器训练使用fitcnet

  • 朴素贝叶斯分类器训练使用fitcnb

  • 近邻分类器训练使用fitcknn

  • 支持金宝app向量机分类器训练使用fitcsvm

属性

BinEdges

本数值预测边缘,指定的单元阵列p数值向量,p预测的数量。每个向量包括箱子边缘数值预测。单元阵列中的元素分类预测是空的,因为软件不本分类预测。

软件垃圾箱只有指定数值预测“NumBins”名称-值参数作为一个正整数标量当训练学习者模型树。的BinEdges属性是空的,如果“NumBins”值是空的(默认)。

你可以复制被预测数据Xbinned通过使用BinEdges训练模型的属性mdl

X = mdl.X;%预测数据Xbinned = 0(大小(X));边缘= mdl.BinEdges;%找到被预测的指标。idxNumeric =找到(~ cellfun (@isempty边缘));如果iscolumn idxNumeric idxNumeric = idxNumeric ';对j = idxNumeric x = x (:, j);% x转换为数组如果x是一个表。如果istable (x) x = table2array (x);组x %到垃圾箱使用结束离散化函数。xbinned =离散化(x,[无穷;边缘{};正]);Xbinned (:, j) = Xbinned;结束
Xbinned包含本指标,从1到垃圾箱的数量,数值预测。Xbinned分类预测的值是0。如果X包含年代,那么相应的Xbinned值是年代。

CategoricalPredictors

分类预测指标,指定为一个向量的正整数。假设预测数据包含观察行,CategoricalPredictors包含索引值对应的列包含分类预测的预测数据。如果所有的预测都直言,那么这个属性是空的([])。

如果Mdl是一个训练有素的判别分析分类器,然后呢CategoricalPredictors永远是空的([])。

一会

独特的类标签用于训练模型,指定为一个类别或字符数组,逻辑或数值向量,或单元阵列的特征向量。

成本

方阵,成本(i, j)是一个指向类分类的成本j如果它真正的类(即。,the rows correspond to the true class and the columns correspond to the predicted class). The order of the rows and columns of成本对应于类的顺序一会。行和列的数量成本在响应中是独特的类的数量。

如果CVModel是一个旨在ClassificationDiscriminant,ClassificationKNN,或ClassificationNaiveBayes模型,然后你可以改变它的成本矩阵,例如,CostMatrix,使用点符号。

CVModel。成本= CostMatrix;

CrossValidatedModel

旨在模型的名字,这是一个特征向量。

KFold

用于旨在折叠的数量模型,它是一个正整数。

ModelParameters

对象持有的参数CVModel

NumObservations

训练数据存储在观测的数量XY,指定为一个数字标量。

分区

类的分区CVPartition用于创建旨在模型。

PredictorNames

预测变量名称,指定为一个单元阵列的特征向量。元素的顺序PredictorNames对应的顺序预测的名字出现在训练数据。

之前

每个类的先验概率数值向量。元素的顺序之前对应于类的顺序一会

如果CVModel是一个旨在ClassificationDiscriminantClassificationNaiveBayes模型,然后你可以改变其向量先验的。priorVector,使用点符号。

CVModel。之前= priorVector;

ResponseName

响应变量名称,指定为一个特征向量。

ScoreTransform

分数变换,指定为一个特征向量或函数句柄。ScoreTransform代表一个内置的函数或一个函数处理转换分类预测分数。

改变分数转换函数函数例如,使用点符号。

  • 对于一个内置的函数,输入一个特征向量。

    Mdl。ScoreTransform = '函数”;

    此表描述了可用的内置函数。

    价值 描述
    “doublelogit” 1 / (1 +e2x)
    “invlogit” 日志(x/ (1 -x))
    “ismax” 集类的分数最大的分数为1,并设置所有其他类的分数为0
    分对数的 1 / (1 +e- - - - - -x)
    “没有”“身份” x(转换)
    “标志” 1x< 0
    为0x= 0
    1x> 0
    “对称” 2x- 1
    “symmetricismax” 集合类的分数最大的分数为1,和所有其他类的分数设置为1
    “symmetriclogit” 2 / (1 +e- - - - - -x)- 1

  • 对于一个MATLAB®函数或你定义一个函数,输入它的功能处理。

    Mdl。ScoreTransform = @函数;

    函数必须接受一个矩阵(原始分数)并返回一个相同大小的矩阵(转换后的分数)。

训练有素的

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

W

的比例权重,是一个向量的长度n,观测的数量X

X

一个矩阵或表的预测价值。

Y

分类或字符数组,逻辑或数值向量,或单元阵列的性格为每个观测向量指定类标签。每个条目的Y相应的响应值观察在吗X

对象的功能

收集 收集的属性统计和机器学习工具对象从GPU
kfoldEdge 分类旨在分类模型的边缘
kfoldLoss 分类损失旨在分类模型
kfoldMargin 分类利润率旨在分类模型
kfoldPredict 观察在旨在分类模型进行分类
kfoldfun 旨在功能分类

复制语义

价值。学习如何价值类影响复制操作,明白了复制对象

例子

全部折叠

评估k倍交叉验证错误的分类树模型。

加载费雪的虹膜数据集。

负载fisheriris

训练一个分类树使用默认选项。

Mdl = fitctree(量、种类);

交叉验证的分类树模型。

CVMdl = crossval (Mdl);

估计10倍交叉验证的损失。

L = kfoldLoss (CVMdl)
L = 0.0533

估计积极类的后验概率测试集的支持向量机算法。

加载电离层数据集。

负载电离层

一个支持向量机分类器训练。指定一个抵抗样本的20%。是一种很好的做法标准化预测和指定类订单。

rng (1)%的再现性CVSVMModel = fitcsvm (X, Y,“坚持”,0.2,“标准化”,真的,“类名”,{“b”,‘g’});

CVSVMModel是一个培训ClassificationPartitionedModel旨在分类器。

估计的最佳得分函数映射观察分数的后验概率被列为观察‘g’

ScoreCVSVMModel = fitSVMPosterior (CVSVMModel);

ScoreSVMModel是一个培训ClassificationPartitionedModel旨在包含最优分数转换函数分类器训练数据的估计。

估计样本外积极类的后验概率。前10个样本外观察显示结果。

[~,OOSPostProbs] = kfoldPredict (ScoreCVSVMModel);indx = ~ isnan (OOSPostProbs (:, 2));hoObs =找到(indx);%抵抗观测数据OOSPostProbs = [hoObs OOSPostProbs (indx, 2)];表(OOSPostProbs (1:10, 1), OOSPostProbs (1:10), 2),“VariableNames”,{“ObservationIndex”,“PosteriorProbability”})
ans =10×2表ObservationIndex PosteriorProbability ___________ ____________________ 6 0.0076606 0.17379 0.89638 7 8 9 0.91603 16 0.026714 22 4.6086 e-06 23 0.9024 24 2.4131 e-06 38 0.00042687 41 0.86427

提示

估计后验概率的训练,旨在支持向量机分类器,使用fitSVMPosterior

扩展功能

版本历史

全部展开