文档

loadCompactModel

从已保存的模型重建模型对象进行代码生成

要生成C代码,您必须拥有一个MATLAB®编码器™许可证。

语法

mdl = loadCompactModel(文件名)

描述

例子

MDL.= loadCompactModel (文件名重建紧凑的分类模型,紧凑型回归模型或最近的邻邻搜索者(MDL.)保存在MATLAB格式二进制文件(MAT-file)中的模型。文件名.您必须创建文件名使用savecompactmodel.

例子

全部收缩

加载电离层数据集。

负载电离层

使用整个数据集训练支持向量机分类模型。指定要标准化数据。

Mdl = fitcsvm (X, Y,'标准化',真正的)
mdl = classificationsvm racatectename:'y'pationoricalpricictors:[] classnames:{'b'g'} scoreTransform:'none'numobservations:351 alpha:[89x1 double]偏置:-0.1341内核参数:[1x1 struct] mu:[1x34DOUBLE] SIGMA:[1x34双] BOXCONSTRAINTS:[351x1 DOUBLE] CONFORGENGEINFO:[1x1 STRUCT] ISSupportVe万博1manbetxctor:[351x1逻辑]求解器:'SMO'属性,方法

MDL.是一个分类VM.模型。

将SVM分类模型保存到文件中“SVMIonosphere.mat”

saveCompactModel (Mdl“SVMIonosphere”);

“SVMIonosphere.mat”出现在您当前的工作目录中。savecompactmodel.通过删除预测不需要的属性来减少模型的存储空间,例如培训数据。然后,savecompactmodel.保存具有特征的结构阵列MDL.“SVMIonosphere.mat”

加载结构数组“SVMIonosphere.mat”工作区。

CompactMdl = loadCompactModel (“SVMIonosphere”
CompactMdl = classreg.learning.classif.CompactClassificationSVM ResponseName:‘Y’CategoricalPredictors:[]类名:{b ' g '} ScoreTransform:‘没有’α:[89 x1双]偏见:-0.1341 KernelParameters: [1 x1 struct]μ:σ[1 x34双]:[1 x34双]SupportVectors: [89 x34双]SupportVectorLabels: [89 万博1manbetxx1双]属性,方法

CompactMdl是一个CompactClassificationsVM.配备预测的模型。

定义一个函数,该函数使用训练过的分类模型对新的观察结果进行分类,并从该函数生成代码。

载入费雪的虹膜数据集。去除萼片的长度和宽度,并观察到所有刚毛鸢尾。

负载渔民第1 = ~ strcmp(物种,'setosa');X =量(第1 3:4);Y =物种(第1);

使用处理后的数据集训练支持向量机分类模型。

Mdl = fitcsvm (X, Y)
MDL = ClassificationSVM ResponseName: 'Y' CategoricalPredictors:[]类名:{ '云芝' '锦葵'} ScoreTransform: '无' NumObservations:100阿尔法:[24x1双]偏压:-14.4149 KernelParameters:[1x1的结构] BoxConstraints:[100X1DOUBLE] CONFORGENGEINFO:[1x1 struct] iss万博1manbetxupportvector:[100x1逻辑]求解器:'smo'

MDL.是一个分类VM.模型。

将SVM分类模型保存到文件中svmiris.mat

saveCompactModel (Mdl“SVMIris”);

在当前文件夹中定义一个名为Classifirises.m.这有以下内容:

  • 接受与之相称的虹膜花测量测定,并返回预测的标签。

  • 加载紧凑的SVM分类模型。

  • 通过加载的模型和虹膜花测量预测

功能标签= classifyIrises (X)% # codegen%CLASSIFYIRISES使用SVM模型对虹膜物种进行分类% CLASSIFYIRISES用X来分类鸢尾花的尺寸%压缩的SVM模型在文件SVMIris。然后返回class标签中的%标签。CompactMdl = loadCompactModel (“SVMIris”);标签=预测(compactmdl,x);结束

% # codegen编译指令表明MATLAB®代码用于代码生成。

生成一个MEX函数Classifirises.m..因为C使用静态类型,codegen必须在编译时确定Matlab®文件中所有变量的属性。为确保MEX函数可以使用相同的输入,请使用该观察指定为功能的参数“参数”选择codegen

codegenClassifirises.m.arg游戏{X}

您可以使用Coder.typeof.指定参数维度可以具有任何长度。这种规范方便在编译时具有未知观察数的输入数据集。例如,看到为代码生成指定变量大小的参数

软件生成MEX文件classifyIrises_mex.mexw64到当前文件夹。文件扩展名取决于您的平台。

比较预测使用的标签预测Classifirises.m., 和classifyIrises_mex

label1 =预测(Mdl X);label2 = classifyIrises (X);label3 = classifyIrises_mex (X);verify_label = isequal (label1 label2 label3)
Verify_label =逻辑1

isequal如果所有输入都相等,则返回逻辑1 (true)。这三种方法的标签都是一样的。

输入参数

全部收缩

包含表示模型对象的结构数组的文件名,指定为字符向量。您必须创建文件名使用savecompactmodel.

loadCompactModel重建存储在存储的模型文件名在编译时。对于支持万博1manbetx的模型,请参阅MDL.输入论点savecompactmodel.

如果文件名那时没有延伸(即没有周期,文本),然后loadCompactModel附加.mat

如果文件名不包括一个完整的路径,那么loadCompactModel从当前工作目录加载。

例子:'mdl'

输出参数

全部收缩

紧凑分类模型、紧凑回归模型或最近邻搜索器,作为该表中的模型对象之一返回。

模型对象 笔记

紧凑型分类模型对象

ClassificationKNN

一个ClassificationKNN模型对象是一个没有相应的Compact对象的完整对象。savecompactmodel.保存不包括交叉验证参数和超参数的紧凑型版本。loadCompactModel返回使用保存的紧凑型版本savecompactmodel.

分类线性

此模型对象是一个小型对象,其没有相应的完整对象。

CompactClassificationDiscriminant.

CompactClassificationECOC

CompactClassificationseMble

CompactClassificationsVM.

如果你使用savecompactmodel.保存一个支持向量机模型,该模型被用来预测后验概率,并使用loadCompactModel加载模型,然后loadCompactModel不能恢复scoretransform.属性进入MATLAB工作区。然而,loadCompactModel可以加载模型,包括scoretransform.属性,在编译时用于生成代码,在您定义的函数中。

CompactClassificationTree.

紧凑型回归模型对象

Compact一项式标Model.

CompactLinearModel

如果通过使用培训线性模型fitlm并指定'抢劫'作为具有匿名功能手柄的结构RobustWgtFun领域,使用savecompactmodel.保存模型,并使用loadCompactModel加载模型,然后loadCompactModel不能恢复强壮的属性进入MATLAB工作区。然而,loadCompactModel可以在编译时加载模型,以便在您定义的函数中生成代码。

CompactRegressionEnsemble

CompactRegressionGP

compactregressionsvm.

Compactregressiontree.

RegressionLinear

此模型对象是一个小型对象,其没有相应的完整对象。

最近邻搜索对象

令人疲惫的kdtreesearcher.

此模型对象是一个没有相应的Compact对象的完整对象。savecompactmodel.保存模型,而且loadCompactModel返回保存的模型。

MDL.必须是编译时常量。您不能更改它后,您加载使用loadCompactModel

扩展功能

C / C ++代码生成
使用MATLAB®Coder™生成C和C ++代码。

介绍了R2016b

这个主题有用吗?