主要内容

discard金宝appSupportVectors

线性支持向量机分金宝app类器的支持向量弃用

描述

例子

Mdl= discard金宝appSupportVectors (MdlSV返回经过训练的线性支持向量机模型金宝appMdl.这两个Mdl以及训练好的线性支持向量机模型MdlSV是相同类型的对象。也就是说,它们都是ClassificationSVM对象或CompactClassificationSVM对象。然而,Mdl而且MdlSV在以下方面有所不同:

例子

全部折叠

通过丢弃支持向量和其他相关参数,创建一个更节省内存的线性SVM模型。金宝app

加载电离层数据集。

负载电离层

使用整个数据集训练线性SVM模型。

MdlSV = fitcsvm(X,Y)
MdlSV = ClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' NumObservations: 351 Alpha: [103x1 double] Bias: -3.8829 KernelParameters: [1x1 struct] BoxConstraints: [351x1 double] ConvergenceInfo: [1x1 struct] Is金宝appSupportVector: [351x1 logical] Solver: 'SMO' Properties, Methods

中显示支持向量的个数金宝appMdlSV

numSV = size(MdlSV.金宝appSupportVectors,1)
numSV = 103

中显示预测变量的数量X

p = size(X,2)
P = 34

默认情况下,fitcsvm训练用于两类学习的线性SVM模型。软件列表α在显示中。该模型包含103个支持向量和34个预测因子。金宝app如果丢弃支持向量,生成的模型将消耗更少金宝app的内存。

丢弃支持向量和其他相关参金宝app数。

Mdl = discard金宝appSupportVectors(MdlSV)
Mdl = ClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' NumObservations: 351 Beta: [34x1 double]偏差:-3.8829 KernelParameters: [1x1 struct] BoxConstraints: [351x1 double] ConvergenceInfo: [1x1 struct] IsSupp金宝apportVector: [351x1 logical] Solver: 'SMO' Properties, Methods

显示系数Mdl

Mdl。α
Ans = []

中显示支持向量金宝appMdl

Mdl。金宝appSupportVectors
Ans = []

中显示支持向量类标签金宝appMdl

Mdl。金宝appSupportVectorLabels
Ans = []

软件列表β在显示而不是α.的α金宝appSupportVectors,金宝appSupportVectorLabels属性为空。

比较模型的大小。

Vars = whoos (“MdlSV”“Mdl”);100*(1 - vars(1).bytes/vars(2).bytes)
Ans = 20.5503

Mdl大约比?小20%MdlSV

删除MdlSV从工作空间。

清晰的MdlSV

通过丢弃存储的支持向量和其他相关估计来压缩支持向量机模型。金宝app通过使用压缩模型预测训练数据行的标签。

加载电离层数据集。

负载电离层rng (1);%用于再现性

使用默认选项训练SVM模型。

MdlSV = fitcsvm(X,Y);

MdlSV是一个ClassificationSVM的非空值的模型α金宝appSupportVectors,金宝appSupportVectorLabels属性。

通过丢弃训练数据、支持向量和相关估计来减少支持向量机模型的大小。金宝app

CMdlSV =紧凑(MdlSV);%丢弃训练数据CMdl = discard金宝appSupportVectors(CMdlSV);%丢弃支持向量金宝app

CMdl是一个CompactClassificationSVM模型。

比较SVM模型的大小MdlSV而且CMdl

Vars = whoos (“MdlSV”“CMdl”);100*(1 - vars(1).bytes/vars(2).bytes)
Ans = 96.8174

压缩模型CMdl消耗的内存比完整模型少得多。

用预测训练数据中任意一行的标签CMdl.的预测函数接受压缩的SVM模型,对于线性SVM模型,不需要α金宝appSupportVectors,金宝appSupportVectorLabels属性来预测新观测值的标签。

idx = randsample(size(X,1),1)
Idx = 147
predictedLabel = predict(CMdl,X(idx,:))
predictedLabel =1x1单元阵列{b}
true = Y(idx)
trueLabel =1x1单元阵列{b}

输入参数

全部折叠

训练过的线性SVM模型,指定为ClassificationSVMCompactClassificationSVM模型。

如果字段MdlSV.KernelParameters.Function不是“线性”(即,MdlSV不是线性SVM模型),软件返回一个错误。

提示

  • 对于训练好的线性SVM模型金宝appSupportVectors属性是一个nsv——- - - - - -p矩阵。nsv支持向量的数量(最多为训练样本量)金宝app和p是预测器或特征的数量。的α而且金宝appSupportVectorLabels属性是向量nsv元素。对于包含许多观察结果或示例的复杂数据集,这些属性可能很大。的β属性是带有的向量p元素。

  • 如果训练的SVM模型有很多支持向量,使用金宝appdiscard金宝appSupportVectors以减少经过训练的线性SVM模型所消耗的空间量。您可以通过输入显示支持向量矩阵的大小金宝app大小(MdlSV.Su金宝apppportVectors)

算法

预测而且resubPredict估计支持向量机得分fx),然后标记和估计后验概率使用

f x x β + b

βMdl。β而且bMdl。偏见,即β而且偏见的属性Mdl,分别。详情请参见金宝app二元分类的支持向量机

扩展功能

版本历史

在R2015a中引入