主要内容

fitSVMPosterior

合适的后验概率

描述

例子

ScoreSVMModel= fitSVMPosterior (SVMModel)返回ScoreSVMModel,这是一种训练,支持向量机(SVM)分类器包金宝app含两级学习的最佳score-to-posterior-probability转换函数。

软件适合适当的score-to-posterior-probability变换函数使用支持向量机分类器SVMModel使用存储的预测数据,通过交叉验证(SVMModel.X)和类标签(SVMModel.Y)。转换函数计算后验概率,一个观察是分为积极的类(SVMModel.Classnames (2))。

  • 如果类是分不开的,那么转换函数乙状结肠函数

  • 类是完全分离的,转换函数阶跃函数

  • 在两种学习,如果其中一个两个类的相对频率为0,然后转换函数常数函数fitSVMPosterior看到下面成了学习的是不合适的。

  • 如果SVMModel是一个ClassificationSVM分类器,然后软件估计最优变换函数到10倍交叉验证中概述[1]。否则,SVMModel必须是一个ClassificationPartitionedModel分类器。SVMModel指定了交叉验证方法。

  • 软件商店的最佳变换函数ScoreSVMModel.ScoreTransform

ScoreSVMModel= fitSVMPosterior (SVMModel,资源描述,ResponseVarName)包含转换函数返回一个训练支持向量分类金宝app器的训练,紧凑的SVM分类器SVMModel。软件估计分数转换函数使用预测数据表中资源描述和类标签Tbl.ResponseVarName

ScoreSVMModel= fitSVMPosterior (SVMModel,资源描述,Y)包含转换函数返回一个训练支持向量分类金宝app器的训练,紧凑的SVM分类器SVMModel。软件估计分数转换函数使用预测数据表中资源描述和类标签Y

例子

ScoreSVMModel= fitSVMPosterior (SVMModel,X,Y)包含转换函数返回一个训练支持向量分类金宝app器的训练,紧凑的SVM分类器SVMModel。软件估计分数转换函数使用预测数据X和类标签Y

例子

ScoreSVMModel= fitSVMPosterior (<年代pan class="argument_placeholder">___,名称,值)使用指定的一个或多个额外的选项名称,值对参数提供SVMModel是一个ClassificationSVM分类器。例如,您可以指定要使用的折叠k倍交叉验证。

例子

(ScoreSVMModel,ScoreTransform)= fitSVMPosterior (<年代pan class="argument_placeholder">___)此外返回转换函数参数(ScoreTransform)使用任何输入参数在前面的语法。

例子

全部折叠

加载费雪的虹膜数据集。训练分类器使用花瓣长度和宽度,并去除virginica物种的数据。

负载<年代pan style="color:#A020F0">fisheririsclassKeep = ~ strcmp(物种,<年代pan style="color:#A020F0">“virginica”);X =量(classKeep 3:4);y =物种(classKeep);gscatter (X (: 1) X (:, 2), y);标题(<年代pan style="color:#A020F0">虹膜测量数据的散点图)包含(<年代pan style="color:#A020F0">“花瓣长度”)ylabel (<年代pan style="color:#A020F0">“花瓣宽度”)传说(<年代pan style="color:#A020F0">“Setosa”,<年代pan style="color:#A020F0">“多色的”)

图包含一个坐标轴对象。标题散点图的坐标轴对象包含虹膜测量2线类型的对象。这些对象代表Setosa,杂色的。

类是完全分离的。因此,分数转换函数是一个阶跃函数。

火车一个支持向量机分类器使用数据。交叉验证分类器使用10倍交叉验证(默认)。

rng (1);CVSVMModel = fitcsvm (X, y,<年代pan style="color:#A020F0">“CrossVal”,<年代pan style="color:#A020F0">“上”);

CVSVMModel是一个培训ClassificationPartitionedModel支持向量机分类器。

估计的阶跃函数变换分数后验概率。

[ScoreCVSVMModel, ScoreParameters] = fitSVMPosterior (CVSVMModel);
警告:类是完全分离的。最优score-to-posterior转换是一个阶跃函数。

fitSVMPosterior以下:

  • 使用软件中存储的数据CVSVMModel以适应变换函数

  • 警告每当类是可分的

  • 商店的阶跃函数ScoreCSVMModel.ScoreTransform

显示得分函数类型和其参数值。

ScoreParameters
ScoreParameters =<年代pan class="emphasis">结构体字段:类型:“一步”下界:-0.8431 UpperBound: 0.6897 PositiveClassProbability: 0.5000

ScoreParameters是一个结构数组有四个领域:

  • 分数转换函数类型(类型)

  • 相对应的分数负类边界(下界)

  • 相对应的分数的积极类边界(UpperBound)

  • 积极类概率(PositiveClassProbability)

因为类是可分的,阶跃函数变换分数01,这是一个观察的后验概率是杂色的虹膜。

加载电离层数据集。

负载<年代pan style="color:#A020F0">电离层

这个数据集的类并不分离。

一个支持向量机分类器训练。交叉验证使用10倍交叉验证(默认)。是一种很好的做法标准化预测和指定类订单。

rng (1)<年代pan style="color:#228B22">%的再现性CVSVMModel = fitcsvm (X, Y,<年代pan style="color:#A020F0">“类名”,{<年代pan style="color:#A020F0">“b”,<年代pan style="color:#A020F0">‘g’},<年代pan style="color:#A020F0">“标准化”,真的,<年代pan style="color:#0000FF">…“CrossVal”,<年代pan style="color:#A020F0">“上”);ScoreTransform = CVSVMModel.ScoreTransform
ScoreTransform = '没有'

CVSVMModel是一个培训ClassificationPartitionedModel支持向量机分类器。积极的类是‘g’。的ScoreTransform属性是没有一个

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

[ScoreCVSVMModel, ScoreParameters] = fitSVMPosterior (CVSVMModel);ScoreTransform = ScoreCVSVMModel.ScoreTransform
ScoreTransform = ' @ (S)乙状结肠(e-01 e-01年代,-9.481373,-1.218931)的
ScoreParameters
ScoreParameters =<年代pan class="emphasis">结构体字段:类型:乙状结肠的斜率:-0.9481截距:-0.1219

ScoreTransform是最优分数变换函数。ScoreParameters包含分数转换函数,斜率估计,拦截估计。

你可以估计测试样本,通过后验概率ScoreCVSVMModelkfoldPredict

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

加载电离层数据集。

负载<年代pan style="color:#A020F0">电离层

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

rng (1)<年代pan style="color:#228B22">%的再现性CVSVMModel = fitcsvm (X, Y,<年代pan style="color:#A020F0">“坚持”,0.2,<年代pan style="color:#A020F0">“标准化”,真的,<年代pan style="color:#0000FF">…“类名”,{<年代pan style="color:#A020F0">“b”,<年代pan style="color:#A020F0">‘g’});

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

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

ScoreCVSVMModel = fitSVMPosterior (CVSVMModel);

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

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

[~,OOSPostProbs] = kfoldPredict (ScoreCVSVMModel);indx = ~ isnan (OOSPostProbs (:, 2));hoObs =找到(indx);<年代pan style="color:#228B22">%抵抗观测数据OOSPostProbs = [hoObs OOSPostProbs (indx, 2)];表(OOSPostProbs (1:10, 1), OOSPostProbs (1:10), 2),<年代pan style="color:#0000FF">…“VariableNames”,{<年代pan style="color:#A020F0">“ObservationIndex”,<年代pan style="color:#A020F0">“PosteriorProbability”})
ans =<年代pan class="emphasis">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

输入参数

全部折叠

训练SVM分类器,指定为一个ClassificationSVM,CompactClassificationSVM,或ClassificationPartitionedModel分类器。

如果SVMModel是一个ClassificationSVM分类器,那么你可以设置可选的参数名称-值对。

如果SVMModel是一个CompactClassificationSVM分类器,然后你必须输入预测数据X和类标签Y

样本数据用于训练模型,指定为一个表。每一行的资源描述对应于一个观察,每一列对应一个预测变量。可选地,资源描述响应变量可以包含额外的列和观察权重。资源描述必须包含所有的预测用于火车SVMModel。多列变量和细胞数组以外的细胞阵列的特征向量是不允许的。

如果资源描述包含响应变量用于火车SVMModel,那么你不需要指定ResponseVarNameY

如果你训练SVMModel使用样本数据包含在一个表中,然后输入数据fitSVMPosterior也必须在一个表中。

如果你设置“标准化”,真的fitcsvm当训练SVMModel,那么软件标准化预测的列数据使用中相应的方法SVMModel.Mu和标准偏差SVMModel.Sigma

数据类型:

预测数据用于估计score-to-posterior-probability转换函数,指定为一个矩阵。

每一行的X对应于一个观察(也称为一个实例或例子),和每一列对应一个变量(也称为一个特性)。

的长度Y的行数X必须是相等的。

如果你设置“标准化”,真的fitcsvm当训练SVMModel,那么软件适合使用标准化的数据转换函数参数估计。

数据类型:|

响应变量名称,指定为一个变量的名字资源描述。如果资源描述包含响应变量用于火车SVMModel,那么你不需要指定ResponseVarName

如果您指定ResponseVarName作为一个角色,那么你必须这样做向量或字符串标量。例如,如果响应变量是存储为Tbl.Response,然后指定ResponseVarName作为“响应”。否则,软件将所有列资源描述,包括Tbl.Response预测因子。

响应变量必须分类,字符,或字符串数组,逻辑或数值向量,或单元阵列的特征向量。如果响应变量是一个字符数组,数组的每个元素都必须对应一行。

数据类型:字符|字符串

类标签用于估计score-to-posterior-probability转换函数,指定分类,字符,或字符串数组,一个逻辑或数值向量,或单元阵列的特征向量。

如果Y每个元素是一个字符数组,那么必须对应一个类标签。

的长度Y的行数X必须是相等的。

数据类型:分类|字符|字符串|逻辑|||细胞

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“KFold”, 8交叉验证当执行8倍SVMModel是一个ClassificationSVM分类器。

交叉验证分区用于计算转换函数,指定为逗号分隔组成的“CVPartition”和一个cvpartition分区创建的对象cvpartition。您可以使用这些四个选项中只有一个用于创建一个旨在模型:“KFold”,“坚持”,“Leaveout”,或“CVPartition”

crossval名称-值对的观点fitcsvm将数据分为子集cvpartition

例子:假设您创建一个随机的分区为5倍交叉验证500观察使用本量利= cvpartition(500年,“KFold”, 5)。然后,您可以指定模型旨在通过使用“CVPartition”,本量利

一部分抵抗验证用于计算的数据转换功能,指定为逗号分隔组成的“坚持”和一个标量值的范围(0,1)。坚持验证测试数据的指定分数和使用剩余的数据进行训练。

您可以使用这些四个选项中只有一个用于创建一个旨在模型:“KFold”,“坚持”,“Leaveout”,或“CVPartition”

例子:“坚持”,0.1

数据类型:|

折叠时使用数量计算转换函数,指定为逗号分隔组成的“KFold”和一个正整数价值大于1。

您可以使用这些四个选项中只有一个用于创建一个旨在模型:“KFold”,“坚持”,“Leaveout”,或“CVPartition”

例子:“KFold”, 8

数据类型:|

分析交叉验证标志指示是否使用分析交叉验证计算转换函数,指定为逗号分隔组成的“Leaveout”“上”“关闭”。使用分析交叉验证通过指定“Leaveout”,“上”

您可以使用这些四个选项中只有一个用于创建一个旨在模型:“KFold”,“坚持”,“Leaveout”,或“CVPartition”

例子:“Leaveout”,“上”

输出参数

全部折叠

训练SVM分类器包含估计分数转换函数,作为一个返回ClassificationSVM,CompactClassificationSVM,或ClassificationPartitionedModel分类器。

ScoreSVMModel分类器类型是一样的SVMModel分类器类型。

估计后验概率,通过ScoreSVMModel和预测数据预测。如果你设置“标准化”,真的fitcsvm训练SVMModel,然后预测标准化的列X使用相应的手段SVMModel.Mu和标准偏差SVMModel.Sigma

最优score-to-posterior-probability变换函数参数,指定为一个结构数组。如果字段类型是:

  • 乙状结肠,然后ScoreTransform这些字段:

    • ——的价值一个乙状结肠函数

    • 拦截——的价值B在乙状结肠函数

  • 一步,然后ScoreTransform这些字段:

    • PositiveClassProbability的值:π阶跃函数π代表:

      • 的概率的观察是积极的类。

      • 得分的后验概率区间(下界,UpperBound)。

    • 下界价值:<年代pan class="inlineequation"> 马克斯 y n = 1 年代 n 阶跃函数。它代表了下界的间隔分配积极类的后验概率PositiveClassProbability分数。任何观察得分不到下界积极类的后验概率0

    • UpperBound价值:<年代pan class="inlineequation"> 最小值 y n = + 1 年代 n 阶跃函数。它代表了上界的间隔分配积极类的后验概率PositiveClassProbability。任何观察得分大于UpperBound积极类的后验概率1

  • 常数,然后ScoreTransform.PredictedClass包含类的名称的预测。

    这个结果是一样的SVMModel.ClassNames。一个观察的后验概率ScoreTransform.PredictedClass总是1

更多关于

全部折叠

乙状结肠函数

地图的乙状结肠功能得分年代<年代ub>j对应于观测j积极类的后验概率

P ( 年代 j ) = 1 1 + 经验值 ( 一个 年代 j + B )

如果该值类型领域的ScoreTransform乙状结肠参数,那么一个B对应的字段规模拦截ScoreTransform,分别。

阶跃函数

阶跃函数映射的分数年代<年代ub>j对应于观测j积极类的后验概率

P ( 年代 j ) = { 0 ; 年代 < 马克斯 y k = 1 年代 k π ; 马克斯 y k = 1 年代 k 年代 j 最小值 y k = + 1 年代 k 1 ; 年代 j > 最小值 y k = + 1 年代 k ,

地点:

  • 年代<年代ub>j分数的观察吗j

  • + 1和- 1表示积极和消极类,分别。

  • π先验概率是一个观察是在积极类。

如果该值类型领域的ScoreTransform一步,那么这个数量<年代pan class="inlineequation"> 马克斯 y k = 1 年代 k 和<年代pan class="inlineequation"> 最小值 y k = + 1 年代 k 对应的字段下界UpperBoundScoreTransform,分别。

常数函数

常数函数映射示例中的所有分数后验概率1或0。

如果所有的观察后验概率1,那么他们将来自积极的类。

如果所有的观察后验概率0,那么他们不是来自积极的类。

提示

  • 这个过程描述了一种方法来预测积极类的后验概率。

    1. 训练SVM分类器通过数据fitcsvm。结果是一个训练SVM分类器,例如SVMModel,存储数据。软件设置分数转换函数属性(SVMModel.ScoreTransformation)没有一个

    2. 通过训练SVM分类器SVMModelfitSVMPosteriorfitPosterior。比如,结果ScoreSVMModel相同的训练SVM分类器SVMModel,除了软件集ScoreSVMModel.ScoreTransformation最优分数转换函数。

    3. 通过预测数据矩阵和训练支持向量机分类器包含最优分数转换函数(ScoreSVMModel)预测。第二列第二输出参数预测商店的积极相应类的后验概率矩阵预测的每一行数据。

      如果你跳过步骤2预测返回的积极类分数而不是积极类的后验概率。

  • 拟合后验概率之后,可以生成C / c++代码,预测新数据标签。需要生成C / c++代码<年代pan class="entity">MATLAB<年代up>®编码器™。有关详细信息,请参见介绍代码生成

算法

如果你重新评估score-to-posterior-probability转换函数,也就是说,如果你通过SVM分类器fitPosteriorfitSVMPosterior和它的ScoreTransform属性是不没有一个,那么软件:

  • 显示一个警告

  • 重置最初的转换函数“没有”之前估计

引用

[1]普拉特,j .“概率输出支持向量机和比较正规化的可能性方法”。金宝app:先进的分类器。剑桥,麻州:麻省理工学院出版社,2000年,页61 - 74。

版本历史

介绍了R2014a

另请参阅

|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">