主要内容

预测

使用支持向量机回归模型预测响应

描述

例子

yfit=预测(MdlX返回表或矩阵中预测器数据的预测响应向量X,基于完整或紧凑的训练支持向量机(SVM)回归模型Mdl

输入参数

全部展开

支持向量机回归模型,指定为RegressionSVM模型或CompactRegressionSVM返回的模型,fitrsvm紧凑的,分别。

用于生成响应的预测数据,指定为数字矩阵或表格。

每一行的X对应一个观察结果,每一列对应一个变量。

  • 对于数字矩阵:

    • 组成列的变量X必须与训练的预测变量的顺序相同Mdl

    • 如果你训练Mdl使用一个表(例如,资源描述),然后X可以是一个数值矩阵如果资源描述包含所有数字预测变量。处理数字预测资源描述作为训练期间的类别,识别类别预测器使用CategoricalPredictors的名值对参数fitrsvm。如果资源描述包含异构预测器变量(例如,数值和类别数据类型)和X是一个数字矩阵吗预测抛出一个错误。

  • 一个表:

    • 预测除了字符向量的单元格数组外,不支持多列变量或单元格数组。

    • 如果你训练Mdl使用一个表(例如,资源描述),则所有预测变量均为X必须具有与受训对象相同的变量名和数据类型Mdl(存储在Mdl。PredictorNames).的列顺序X是否需要对应列的顺序资源描述资源描述而且X可以包含额外的变量(响应变量、观察权重等),但是预测忽略了它们。

    • 如果你训练Mdl使用一个数字矩阵,然后预测器名称在Mdl。PredictorNames和对应的预测变量名X一定是一样的。若要在训练期间指定预测器名称,请参阅PredictorNames的名值对参数fitrsvm。的所有预测变量X必须是数字向量。X可以包含额外的变量(响应变量、观察权重等),但是预测忽略了它们。

如果你设置“标准化”,真的fitrsvm训练Mdl,然后软件对的列进行标准化X运用相应的手段Mdl。μ的标准差Mdl。σ

数据类型:表格||

输出参数

全部展开

预测的响应,作为长度向量返回n,在那里n是训练数据中的观察数。

有关如何预测响应的详细信息,请参见方程1而且方程2理解支持向量机回归

例子

全部展开

加载carsmall数据集。考虑一个模型,根据汽车的马力和重量来预测汽车的燃油效率。确定样本大小。

负载carsmall台=表(马力、重量、MPG);N =大小(1台);

将数据划分为训练集和测试集。保留10%的数据用于测试。

rng (10);%的再现性本量利= cvpartition (N,“坚持”, 0.1);idxTrn =培训(cvp);%训练集指标idxTest =测试(cvp);%测试集索引

训练线性支持向量机回归模型。标准化数据。

Mdl = fitrsvm(资源描述(idxTrn:),“英里”“标准化”,真正的);

Mdl是一个RegressionSVM模型。

预测测试集的响应。

YFit =预测(Mdl台(idxTest:));

创建一个表,其中并排包含观察到的响应值和预测的响应值。

表(tbl.MPG (idxTest)、YFit“VariableNames”...“ObservedValue”“PredictedValue”})
ans =10×2表obvedvalue PredictedValue _____________ ______________ 14 9.4833 27 28.938 10 7.765 28 27.155 22 21.054 29 31.484 24.5 30.306 18.5 19.12 32 28.225 28 26.632

提示

选择功能

仿真软件块

将支持向量机回归模型的预测集成到Simulink中®,你可以使用RegressionSVM预测在统计和机器学习工具箱™库或MATLAB中®函数块中包含预测函数。有关示例,请参见使用回归支持向量机预测块预测响应而且用MATLAB函数块预测类标签

在决定使用哪种方法时,请考虑以下几点:

  • 如果使用“统计和机器学习工具箱”库块,则可以使用定点的工具(定点设计师)将浮点模型转换为定点模型。

  • 控件必须为MATLAB函数块启用对可变大小数组的支持预测函数。

  • 如果使用MATLAB函数块,则可以使用MATLAB函数在同一个MATLAB函数块中进行预测前后的预处理或后处理。

扩展功能

版本历史

介绍了R2015b

Baidu
map