主要内容

横梁

类:RegressionSVM

交叉验证的支持向量机回归模型万博1manbetx

句法

CVMDL = Crossval(MDL)
CVMdl = crossval (mdl、名称、值)

描述

CVMdl= Crossval(mdl返回交叉验证的(分区)支持向量机回归模型,万博1manbetxCVMdl,从训练有素的支持向量机回归模型,mdl

CVMdl= Crossval(mdl名称,值返回一个具有一个或多个指定的附加选项的交叉验证模型名称,值对参数。

输入参数

全部展开

完整的,训练有素的SVM回归模型,指定为RegressionSVM模型返回fitrsvm

名称-值对的观点

指定可选的逗号分离对名称,值参数。名称是参数名称和价值为对应值。名称必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

交叉验证分区,指定为aCVPartition.分区对象由CVPartition..分区对象指定跨验证的类型和培训和验证集的索引。

要创建一个交叉验证的模型,您只能指定以下四个名称-值参数中的一个:CVPartition坚持kfold., 要么忽略

例子:假设您使用以下方法创建了一个随机分区,用于对500个观测数据进行5倍交叉验证CVP = CVPARTING(500,'KFOLD',5).然后,您可以通过使用指定交叉验证的模型'cvpartition',cvp

用于抵抗验证的数据的一部分,指定为范围(0,1)中的标量值。如果您指定‘坚持’,p,然后软件完成以下步骤:

  1. 随机选择和保留p * 100数据的百分比作为验证数据,并使用其余数据训练模型。

  2. 存储紧凑型培训的模型训练有素的交叉验证模型的性质。

要创建一个交叉验证的模型,您只能指定以下四个名称-值参数中的一个:CVPartition坚持kfold., 要么忽略

例子:“坚持”,0.1

数据类型:|单身的

在交叉验证模型中使用的折叠数,指定为大于1的正整数。如果您指定KFold, k,然后软件完成以下步骤:

  1. 将数据随机划分为K.集。

  2. 对于每个设置,保留设置为验证数据,并使用其他培训模型K.- 1集。

  3. 储存K.紧凑,训练模型在K.- 1个细胞矢量训练有素的交叉验证模型的性质。

要创建一个交叉验证的模型,您只能指定以下四个名称-值参数中的一个:CVPartition坚持kfold., 要么忽略

例子:“KFold”,5

数据类型:单身的|

省略一交叉验证标志,指定为'在'“关闭”.如果您指定'留下','开'然后是每个人N观察(在哪里N不包括遗漏的观测数据,观测数据的数量是否在numobservations.该模型的属性),软件完成以下步骤:

  1. 保留作为验证数据的一个观察,并使用另一个培训模型N- 1观察。

  2. 储存N紧凑,训练模型在一个N- 1个细胞矢量训练有素的交叉验证模型的性质。

要创建一个交叉验证的模型,您只能指定以下四个名称-值参数中的一个:CVPartition坚持kfold., 要么忽略

例子:'留下','开'

输出参数

全部展开

交叉验证的SVM回归模型,作为一个返回回归排放性的svm.模型。

例子

全部展开

这个例子展示了如何训练交叉验证的支持向量机回归模型横梁

此示例使用UCI机器学习存储库中的鲍鱼数据。下载数据并将其保存在当前文件夹中的名称“abalone.data”.将数据读入表格

台= readtable (“abalone.data”'文件类型'“文本”“ReadVariableNames”,错误的);RNG.默认重复性的%

样本数据包含4177个观察结果。所有预测变量都是连续的,除了性别,这是一种具有可能值的分类变量“米”(男性)“F”(女性)“我”(对于婴儿)。目标是预测鲍鱼上的环数,并使用物理测量确定其年龄。

使用具有等于2.2的内核刻度的高斯内核功能列出SVM回归模型。标准化数据。

mdl = fitrsvm(tbl,“Var9”“KernelFunction”'高斯'“KernelScale”, 2.2,“标准化”,真的);

mdl是训练有素的RegressionSVM回归模型。

采用10倍交叉验证对模型进行交叉验证。

CVMDL = Crossval(MDL)
CVMdl = classreg.learning.partition.RegressionPartitionedSVM CrossValidatedModel: 'SVM' PredictorNames: {1x8 cell} CategoricalPredictors: 1 ResponseName: 'Var9' NumObservations: 4177 KFold: 10 Partition: [1x1 cvpartition] ResponseTransform: 'none'属性,方法

CVMdl是A.回归排放性的svm.旨在回归模型。软件:

1.将数据随机分区为10个等大小的组。

2.在10套的九个中训练SVM回归模型。

3.重复步骤1和步骤2K.= 10时代。它每次都留下了一个分区,并在其他九个分区上列出。

4.将普遍统计组合每个折叠。

计算交叉验证模型的再替换损失。

损失= kfoldLoss (CVMdl)
损失= 4.5712

这个例子展示了如何指定一个坚持比例来训练一个交叉验证的支持向量机回归模型。

此示例使用UCI机器学习存储库中的鲍鱼数据。下载数据并将其保存在当前文件夹中的名称“abalone.data”.将数据读入表格

台= readtable (“abalone.data”'文件类型'“文本”“ReadVariableNames”,错误的);RNG.默认重复性的%

样本数据包含4177个观察结果。所有预测变量都是连续的,除了性别,这是一种具有可能值的分类变量“米”(男性)“F”(女性)“我”(对于婴儿)。目标是预测鲍鱼上的环数,并使用物理测量确定其年龄。

使用具有自动内核刻度的高斯内核功能列出SVM回归模型。标准化数据。

mdl = fitrsvm(tbl,“Var9”“KernelFunction”'高斯'“KernelScale”'汽车'“标准化”,真的);

mdl是训练有素的RegressionSVM回归模型。

通过指定10%HoldOut示例来交叉验证回归模型。

cvmdl = crossval(mdl,'坚持',0.1)
cvmdl = classReg.Learning.Partition.regressionPartitionedSvm CrossValidateDorn:{1x8 Cell} ProdicoricalPricictors:1 responseName:'var9'numobservations:4177 kfold:1分区:[1x1 cvpartition] ranceateetransform:'无'属性,方法

CVMdl是A.回归排放性的svm.模型对象。

计算交叉验证模型的再替换损失。

损失= kfoldLoss (CVMdl)
损失= 5.2499.

备择方案

而不是训练SVM回归模型,然后交叉验证,您可以通过使用直接创建交叉验证的模型fitrsvm并指定任何这些名称值对参数:'横向'“CVPartition”'坚持''忽略', 要么'kfold'

参考文献

[1]纳什,W.J.,T.L.L.L.卖家,S.R.Talbot,A. J. Cawthorn和W. B. B. Ford。“鲍鱼人口生物学(石决明物种)在塔斯马尼亚州。I. Blacklip鲍鱼(h . rubra)来自北海岸和低音海峡岛屿。“海洋渔业部门,技术报告第48号1994年。

[2]沃,S。串级相关的扩展和基准:前馈监督人工神经网络的串级相关体系结构和基准的扩展。塔斯马尼亚大学计算机科学论文,1995年。

克拉克,D., Z. Schreter, A. Adams。《Dystal和Backpropagation的定量比较》提交给澳大利亚神经网络会议,1996年。

[4] Lichman,M.UCI机器学习存储库,[http://archive.ics.uci.edu/ml]。欧文,加利福尼亚州:加州大学,信息学院和计算机科学学院。

介绍了R2015b