validatedUpdateInputs
验证和提取机器学习模型参数更新
描述
生成的C / c++代码预测
和更新
机器学习模型的功能通过使用编码器配置对象。创建这个对象使用learnerCoderConfigurer
和它的目标函数generateCode
。与新的数据或设置培训模型之后,您可以更新模型参数生成的代码,而不必重新生成代码。使用validatedUpdateInputs
验证和提取模型参数更新。这个功能可以帮助您识别潜在的问题在你更新模型参数生成的代码。您可以使用的输出validatedUpdateInputs
、验证参数作为输入参数的更新
函数来更新模型参数。
这个流程图显示了代码生成使用编码器配置工作流。使用validatedUpdateInputs
突出显示的步骤。
返回验证机器学习模型参数更新。参数个数
= validatedUpdateInputs (配置
,retrainedMdl
)validatedUpdateInputs
修改模型参数的检测retrainedMdl
并验证是否满足编码器属性存储在配置
。
例子
更新参数的支持向量机分类模型生成的代码
使用部分数据集训练支持向量机模型,并创建一个编码器的配置模型。使用编码器配置的属性来指定编码支持向量机模型参数的属性。使用编码器配置的目标函数来生成C代码,预测新的预测数据标签。然后再培训模型使用和更新整个数据集参数生成的代码没有重新生成代码。
火车模型
加载电离层
数据集。这个数据集有34个预测因子和351二进制响应雷达回报,要么坏(“b”
)或好(‘g’
)。火车一个二进制SVM分类模型使用前50的观察。
负载电离层Mdl = fitcsvm (X (1:50:), Y (1:50));
Mdl
是一个ClassificationSVM
对象。
创建编码器配置
创建一个编码器的配置ClassificationSVM
模型通过使用learnerCoderConfigurer
。指定的预测数据X
。的learnerCoderConfigurer
函数使用的输入X
配置的编码属性预测
函数的输入。同时,设置输出的数量2,这样生成的代码返回预测标签和分数。
配置= learnerCoderConfigurer (Mdl X (1:50,:)“NumOutputs”2);
配置
是一个ClassificationSVMCoderConfigurer
对象,该对象是一个编码器的配置ClassificationSVM
对象。
指定编码的属性参数
指定编码支持向量机分类模型参数的属性,这样您就可以更新培训后生成的代码模型中的参数。本例中指定的编码属性预测数据,你想通过生成的代码和编码器SVM模型的支持向量的属性。金宝app
首先,指定的编码属性X
这样生成的代码接受任何数量的观察。修改SizeVector
和VariableDimensions
属性。的SizeVector
属性指定的上界预测数据大小,和VariableDimensions
属性指定每个维度的预测数据是否有一个变量大小或固定大小。
configurer.X。SizeVector= [Inf 34]; configurer.X.VariableDimensions = [true false];
第一个维度的大小是观测的数量。在这种情况下,代码指定大小的上限正
和大小是可变的,这意味着X
可以拥有任意数量的观察。这个规范是方便如果你不知道观察当生成代码的数量。
第二个维度是大小的预测变量的数量。这个值必须为一个固定的机器学习模型。X
包含34个预测因子,所以的价值SizeVector
属性的值必须是34和VariableDimensions
属性必须假
。
如果你重新训练支持向量机模型使用新数据或不同的设置,支持向量的个数可以有所不同。金宝app因此,指定的编码属性金宝appSupportVectors
这样你就可以更新支持向量生成的代码。金宝app
configurer.金宝appSupportVectors。SizeVector = 34 (250);
αSizeVector属性已被修改,以满足配置约束。SizeVector属性SupportVector金宝appLabels已被修改,以满足配置约束。
configurer.金宝appSupportVectors。VariableDimensions= [true false];
αVariableDimensions属性已被修改,以满足配置约束。VariableDimensions属性SupportVector金宝appLabels已被修改,以满足配置约束。
如果你修改的编码属性金宝appSupportVectors
,那么软件修改的编码属性α
和金宝appSupportVectorLabels
为了满足配置约束。如果编码器属性的修改一个参数需要对其他相关参数,以满足后续更改配置约束,那么软件更改的编码属性相关的参数。
生成代码
生成C / c++代码,您必须访问一个C / c++编译器配置正确。MATLAB编码器定位和使用支持,安装编译器。金宝app您可以使用墨西哥人
设置
查看和更改默认编译器。更多细节,请参阅改变默认的编译器。
使用generateCode
生成的代码预测
和更新
函数的支持向量机分类模型(Mdl
用默认设置)。
generateCode(配置)
generateCode输出文件夹中创建这些文件:初始化。米”、“预测。米”、“更新。米”、“ClassificationSVMModel。垫的代码生成成功。
generateCode
生成所需的MATLAB文件生成代码,包括两个入口点函数predict.m
和update.m
为预测
和更新
的功能Mdl
,分别。然后generateCode
创建一个墨西哥人函数命名ClassificationSVMModel
的两个入口点函数codegen \墨西哥人\ ClassificationSVMModel
文件夹,将墨西哥人功能复制到当前文件夹。
验证生成的代码
一些预测数据来验证是否通过预测
的函数Mdl
和预测
墨西哥人的函数返回相同的标签。在墨西哥人叫一个入口点函数有多个入口点函数,函数名指定为第一个输入参数。
(标签,分数)=预测(Mdl X);[label_mex, score_mex] = ClassificationSVMModel (“预测”,X);
比较标签
和label_mex
通过使用isequal
。
label_mex isequal(标签)
ans =逻辑1
isequal
返回逻辑1 (真正的
如果所有的输入都是平等的。确认进行了比较预测
的函数Mdl
和预测
墨西哥人的函数返回相同的标签。
score_mex
相比之下,可能包括舍入差异分数
。在这种情况下,比较score_mex
和分数
,允许一个小宽容。
找到(abs (score-score_mex) > 1 e-8)
ans = 0 x1空双列向量
比较证实,分数
和score_mex
宽容是相等的1 e-8
。
重新培训模型和更新参数生成的代码
使用整个数据集训练模型。
retrainedMdl = fitcsvm (X, Y);
提取参数更新使用validatedUpdateInputs
。这个函数修正模型参数的检测retrainedMdl
并验证修改后的参数值是否满足编码器的属性参数。
params = validatedUpdateInputs(配置、retrainedMdl);
在生成的代码更新参数。
ClassificationSVMModel (“更新”params)
验证生成的代码
比较的输出预测
的函数retrainedMdl
和预测
功能更新的墨西哥人的功能。
(标签,分数)=预测(retrainedMdl X);[label_mex, score_mex] = ClassificationSVMModel (“预测”,X);label_mex isequal(标签)
ans =逻辑1
找到(abs (score-score_mex) > 1 e-8)
ans = 0 x1空双列向量
比较证实,标签
和labels_mex
是相等的,分数在公差值相等。
更新参数ECOC分类模型生成的代码
火车一个纠错输出编码二进制学习者使用SVM (ECOC)模型,并创建一个编码器的配置模型。使用编码器配置的属性来指定编码器ECOC模型参数的属性。使用编码器配置的目标函数来生成C代码,预测新的预测数据标签。使用不同的设置,然后重新训练模型和更新参数生成的代码没有重新生成代码。
火车模型
加载费雪的虹膜数据集。
负载fisheririsX =量;Y =物种;
创建一个二进制学习者模板使用高斯核函数的SVM和标准化预测数据。
t = templateSVM (“KernelFunction”,“高斯”,“标准化”,真正的);
使用模板训练多级ECOC模型t
。
Mdl = fitcecoc (X, Y,“学习者”t);
Mdl
是一个ClassificationECOC
对象。
创建编码器配置
创建一个编码器的配置ClassificationECOC
模型通过使用learnerCoderConfigurer
。指定的预测数据X
。的learnerCoderConfigurer
函数使用的输入X
配置的编码属性预测
函数的输入。同时,设置输出的数量2,这样生成的代码返回的前两个输出预测
函数,它是预测标签和否定平均二进制损失。
配置= learnerCoderConfigurer (Mdl X,“NumOutputs”,2)
配置= ClassificationECOCCoderConfigurer属性:更新输入:BinaryLearners:之前[1 x1 ClassificationSVMCoderConfigurer]: [1 x1 LearnerCoderInput]成本:[1 x1 LearnerCoderInput]预测输入:X: [1 x1 LearnerCoderInput]代码生成参数:NumOutputs: 2 OutputFileName:“ClassificationECOCModel”属性,方法
配置
是一个ClassificationECOCCoderConfigurer
对象,该对象是一个编码器的配置ClassificationECOC
对象。显示器显示的可调输入参数预测
和更新
:X
,BinaryLearners
,之前
,成本
。
指定编码的属性参数
指定的编码属性预测
参数(预测数据和参数名称-值对“解码”
和“BinaryLoss”
),更新
参数的SVM(支持向量金宝app学习者),这样您就可以使用这些参数作为输入参数预测
和更新
在生成的代码。
首先,指定的编码属性X
这样生成的代码接受任何数量的观察。修改SizeVector
和VariableDimensions
属性。的SizeVector
属性指定的上界预测数据大小,和VariableDimensions
属性指定每个维度的预测数据是否有一个变量大小或固定大小。
configurer.X。SizeVector= [Inf 4]; configurer.X.VariableDimensions = [true false];
第一个维度的大小是观测的数量。在这种情况下,代码指定大小的上限正
和大小是可变的,这意味着X
可以拥有任意数量的观察。这个规范是方便如果你不知道观察当生成代码的数量。
第二个维度是大小的预测变量的数量。这个值必须为一个固定的机器学习模型。X
包含4预测,因此第二个值SizeVector
属性必须是4,第二个值VariableDimensions
属性必须假
。
接下来,修改编码的属性BinaryLoss
和解码
使用“BinaryLoss”
和“解码”
名称-值对参数在生成的代码中。显示的编码属性BinaryLoss
。
configurer.BinaryLoss
ans = EnumeratedInput属性:价值:“枢纽”SelectedOption:“内置”BuiltInOptions: {1} x7细胞IsConstant: 1可调谐性:0
使用默认的值在生成的代码中,您必须指定的值在生成代码。指定价值
的属性BinaryLoss
作为“指数”
。
configurer.BinaryLoss。值=“指数”;configurer.BinaryLoss
ans = EnumeratedInput属性:价值:“指数”SelectedOption:“内置”BuiltInOptions: {1} x7细胞IsConstant: 1可调谐性:1
如果你修改属性值时可调谐性
是假
(逻辑0),软件设置可调谐性
来真正的
(逻辑1)。
显示的编码属性解码
。
configurer.Decoding
ans = EnumeratedInput属性:价值:“lossweighted”SelectedOption:“内置”BuiltInOptions: {“lossweighted”“lossbased”} IsConstant: 1可调谐性:0
指定IsConstant
的属性解码
作为假
因此,您可以使用所有可用的值BuiltInOptions
在生成的代码。
configurer.Decoding。IsConstant = false;configurer.Decoding
ans = EnumeratedInput属性:价值:[1 x1 LearnerCoderInput] SelectedOption:“非常数的”BuiltInOptions: {“lossweighted”“lossbased”} IsConstant: 0可调谐性:1
软件变更价值
的属性解码
到一个LearnerCoderInput
对象,这样你可以同时使用“lossweighted”
和“lossbased
”的价值“解码”
。此外,软件设置SelectedOption
来“非常数的”
和可调谐性
来真正的
。
最后,修改编码的属性金宝appSupportVectors
在BinaryLearners
。显示的编码属性金宝appSupportVectors
。
configurer.BinaryLearners.金宝appSupportVectors
ans = LearnerCoderInput属性:SizeVector: [54 4] VariableDimensions:[1 0]数据类型:“双”可调谐性:1
的默认值VariableDimensions
是(真假)
因为每个学习者都有不同数量的支持向量。金宝app如果你再培训ECOC模型使用新数据或不同的设置,支持向量的个数在SVM学习者可以有所不同。金宝app因此,提高支持向量的个数的上界。金宝app
configurer.BinaryLearners.金宝appSupportVectors。SizeVector = 150 [4];
αSizeVector属性已被修改,以满足配置约束。SizeVector属性SupportVector金宝appLabels已被修改,以满足配置约束。
如果你修改的编码属性金宝appSupportVectors
,那么软件修改的编码属性α
和金宝appSupportVectorLabels
为了满足配置约束。如果编码器属性的修改一个参数需要对其他相关参数,以满足后续更改配置约束,那么软件更改的编码属性相关的参数。
显示编码器配置。
配置
配置= ClassificationECOCCoderConfigurer属性:更新输入:BinaryLearners:之前[1 x1 ClassificationSVMCoderConfigurer]: [1 x1 LearnerCoderInput]成本:[1 x1 LearnerCoderInput]预测输入:X: [1 x1 LearnerCoderInput] BinaryLoss: [1 x1 EnumeratedInput]解码:[1 x1 EnumeratedInput]代码生成参数:NumOutputs: 2 OutputFileName:“ClassificationECOCModel”属性,方法
显示现在包括BinaryLoss
和解码
。
生成代码
生成C / c++代码,您必须访问一个C / c++编译器配置正确。MATLAB编码器定位和使用支持,安装编译器。金宝app您可以使用墨西哥人
设置
查看和更改默认编译器。更多细节,请参阅改变默认的编译器。
生成的代码预测
和更新
功能ECOC分类模型(Mdl
)。
generateCode(配置)
generateCode输出文件夹中创建这些文件:初始化。米”、“预测。米”、“更新。米”、“ClassificationECOCModel。垫的代码生成成功。
的generateCode
函数完成这些操作:
生成所需的MATLAB文件生成代码,包括两个入口点函数
predict.m
和update.m
为预测
和更新
的功能Mdl
,分别。创建一个墨西哥人函数命名
ClassificationECOCModel
两个入口点函数。创建中的墨西哥人功能的代码
codegen \墨西哥人\ ClassificationECOCModel
文件夹中。墨西哥人功能复制到当前文件夹。
验证生成的代码
一些预测数据来验证是否通过预测
的函数Mdl
和预测
墨西哥人的函数返回相同的标签。在墨西哥人叫一个入口点函数有多个入口点函数,函数名指定为第一个输入参数。因为你指定的“解码”
作为一个可调输入参数通过改变IsConstant
属性生成代码之前,您还需要指定调用墨西哥人的功能,尽管“lossweighted”
的默认值吗“解码”
。
[标签,NegLoss] =预测(Mdl X,“BinaryLoss”,“指数”);[label_mex, NegLoss_mex] = ClassificationECOCModel (“预测”,X,“BinaryLoss”,“指数”,“解码”,“lossweighted”);
比较标签
来label_mex
通过使用isequal
。
label_mex isequal(标签)
ans =逻辑1
isequal
返回逻辑1 (真正的
如果所有的输入都是平等的。确认进行了比较预测
的函数Mdl
和预测
墨西哥人的函数返回相同的标签。
NegLoss_mex
可能包括舍入差异比较NegLoss
。在这种情况下,比较NegLoss_mex
来NegLoss
,允许一个小宽容。
找到(abs (NegLoss-NegLoss_mex) > 1 e-8)
ans = 0 x1空双列向量
比较证实,NegLoss
和NegLoss_mex
宽容是相等的1 e-8
。
重新培训模型和更新参数生成的代码
重新培训模型使用不同的设置。指定“KernelScale”
作为“汽车”
这样的软件使用启发式程序选择合适的比例因子。
t_new = templateSVM (“KernelFunction”,“高斯”,“标准化”,真的,“KernelScale”,“汽车”);retrainedMdl = fitcecoc (X, Y,“学习者”,t_new);
提取参数更新使用validatedUpdateInputs
。这个函数修正模型参数的检测retrainedMdl
并验证修改后的参数值是否满足编码器的属性参数。
params = validatedUpdateInputs(配置、retrainedMdl);
在生成的代码更新参数。
ClassificationECOCModel (“更新”params)
验证生成的代码
比较的输出预测
的函数retrainedMdl
的输出预测
功能更新的墨西哥人的功能。
[标签,NegLoss] =预测(retrainedMdl X,“BinaryLoss”,“指数”,“解码”,“lossbased”);[label_mex, NegLoss_mex] = ClassificationECOCModel (“预测”,X,“BinaryLoss”,“指数”,“解码”,“lossbased”);label_mex isequal(标签)
ans =逻辑1
找到(abs (NegLoss-NegLoss_mex) > 1 e-8)
ans = 0 x1空双列向量
比较证实,标签
和label_mex
是相等的,NegLoss
和NegLoss_mex
宽容是相等的。
更新参数的支持向量机回归模型生成的代码
训练支持向量机(金宝appSVM)模型使用部分数据集和创建一个编码器的配置模型。使用编码器配置的属性来指定编码支持向量机模型参数的属性。使用编码器配置的目标函数来生成C代码,为新的预测数据预测的反应。然后再培训模型使用和更新整个数据集参数生成的代码没有重新生成代码。
火车模型
加载carsmall
数据集和训练支持向量机回归模型使用前50的观察。
负载carsmallX =(功率、重量);Y = MPG;Mdl = fitrsvm (X (1:50:), Y (1:50));
Mdl
是一个RegressionSVM
对象。
创建编码器配置
创建一个编码器的配置RegressionSVM
模型通过使用learnerCoderConfigurer
。指定的预测数据X
。的learnerCoderConfigurer
函数使用的输入X
配置的编码属性预测
函数的输入。
配置= learnerCoderConfigurer (Mdl X (1:50,:));
配置
是一个RegressionSVMCoderConfigurer
对象,该对象是一个编码器的配置RegressionSVM
对象。
指定编码的属性参数
指定的编码属性支持向量机回归模型参数,这样您就可以更新参数模型在培训后生成的代码。这个例子中指定的编码属性预测数据,你想通过生成的代码和支持向量机的编码器属性的支持向量回归模型。金宝app
首先,指定的编码属性X
这样生成的代码接受任何数量的观察。修改SizeVector
和VariableDimensions
属性。的SizeVector
属性指定的上界预测数据大小,和VariableDimensions
属性指定每个维度的预测数据是否有一个变量大小或固定大小。
configurer.X。SizeVector= [Inf 2]; configurer.X.VariableDimensions = [true false];
第一个维度的大小是观测的数量。在这种情况下,代码指定大小的上限正
和大小是可变的,这意味着X
可以拥有任意数量的观察。这个规范是方便如果你不知道观察当生成代码的数量。
第二个维度是大小的预测变量的数量。这个值必须为一个固定的机器学习模型。X
包含两个预测因子,所以的价值SizeVector
属性必须是两个和的值VariableDimensions
属性必须假
。
如果你重新训练支持向量机模型使用新数据或不同的设置,支持向量的个数可以有所不同。金宝app因此,指定的编码属性金宝appSupportVectors
这样你就可以更新支持向量生成的代码。金宝app
configurer.金宝appSupportVectors。SizeVector = (250 2);
αSizeVector属性已被修改,以满足配置约束。
configurer.金宝appSupportVectors。VariableDimensions= [true false];
αVariableDimensions属性已被修改,以满足配置约束。
如果你修改的编码属性金宝appSupportVectors
,那么软件修改的编码属性α
为了满足配置约束。如果编码器属性的修改一个参数需要对其他相关参数,以满足后续更改配置约束,那么软件更改的编码属性相关的参数。
生成代码
生成C / c++代码,您必须访问一个C / c++编译器配置正确。MATLAB编码器定位和使用支持,安装编译器。金宝app您可以使用墨西哥人
设置
查看和更改默认编译器。更多细节,请参阅改变默认的编译器。
使用generateCode
生成的代码预测
和更新
函数的支持向量机回归模型(Mdl
用默认设置)。
generateCode(配置)
generateCode输出文件夹中创建这些文件:初始化。米”、“预测。米”、“更新。米”、“RegressionSVMModel。垫的代码生成成功。
generateCode
生成所需的MATLAB文件生成代码,包括两个入口点函数predict.m
和update.m
为预测
和更新
的功能Mdl
,分别。然后generateCode
创建一个墨西哥人函数命名RegressionSVMModel
的两个入口点函数codegen \墨西哥人\ RegressionSVMModel
文件夹,将墨西哥人功能复制到当前文件夹。
验证生成的代码
一些预测数据来验证是否通过预测
的函数Mdl
和预测
墨西哥人的函数返回相同的预测反应。在墨西哥人叫一个入口点函数有多个入口点函数,函数名指定为第一个输入参数。
yfit =预测(Mdl X);yfit_mex = RegressionSVMModel (“预测”,X);
yfit_mex
相比之下,可能包括舍入差异yfit
。在这种情况下,比较yfit
和yfit_mex
,允许一个小宽容。
找到(abs (yfit-yfit_mex) > 1 e-6)
ans = 0 x1空双列向量
比较证实,yfit
和yfit_mex
宽容是相等的1 e-6
。
重新培训模型和更新参数生成的代码
使用整个数据集训练模型。
retrainedMdl = fitrsvm (X, Y);
提取参数更新使用validatedUpdateInputs
。这个函数修正模型参数的检测retrainedMdl
并验证修改后的参数值是否满足编码器的属性参数。
params = validatedUpdateInputs(配置、retrainedMdl);
在生成的代码更新参数。
RegressionSVMModel (“更新”params)
验证生成的代码
比较的输出预测
的函数retrainedMdl
和预测
功能更新的墨西哥人的功能。
yfit =预测(retrainedMdl X);yfit_mex = RegressionSVMModel (“预测”,X);找到(abs (yfit-yfit_mex) > 1 e-6)
ans = 0 x1空双列向量
比较证实,yfit
和yfit_mex
宽容是相等的1 e-6
。
更新参数的回归树模型生成的代码
火车回归树使用部分数据集和创建一个编码器的配置模型。使用编码器配置的属性来指定编码器模型参数的属性。使用编码器配置的目标函数来生成C代码,为新的预测数据预测的反应。使用整个数据集,然后再培训模型和更新参数生成的代码没有重新生成代码。
火车模型
加载carbig
数据集,训练回归树模型使用一半的观察。
负载carbigX =(位移马力重量);Y = MPG;rng (“默认”)%的再现性n =长度(Y);idxTrain = randsample (n, n / 2);XTrain = X (idxTrain:);YTrain = Y (idxTrain);Mdl = fitrtree (XTrain YTrain);
Mdl
是一个RegressionTree
对象。
创建编码器配置
创建一个编码器的配置RegressionTree
模型通过使用learnerCoderConfigurer
。指定的预测数据XTrain
。的learnerCoderConfigurer
函数使用的输入XTrain
配置的编码属性预测
函数的输入。同时,设置输出的数量2,这样生成的代码返回预测反应和节点数量预测。
配置= learnerCoderConfigurer (Mdl XTrain,“NumOutputs”2);
配置
是一个RegressionTreeCoderConfigurer
对象,该对象是一个编码器的配置RegressionTree
对象。
指定编码的属性参数
指定的编码属性回归树模型参数,这样您就可以更新参数模型在培训后生成的代码。
指定的编码属性X
的属性配置
这样生成的代码接受任何数量的观察。修改SizeVector
和VariableDimensions
属性。的SizeVector
属性指定的上界预测数据大小,和VariableDimensions
属性指定每个维度的预测数据是否有一个变量大小或固定大小。
configurer.X。SizeVector= [Inf 3]; configurer.X.VariableDimensions
ans =1 x2逻辑阵列1 0
第一个维度的大小是观测的数量。设置的值SizeVector
属性来正
导致软件更改的值VariableDimensions
属性来1
。换句话说,大小的上限正
和大小是可变的,这意味着可以拥有任意数量的观察的预测数据。这个规范是方便如果你不知道观察当生成代码的数量。
第二个维度是大小的预测变量的数量。这个值必须为一个固定的机器学习模型。因为预测数据包含3预测的价值SizeVector
属性必须3
和的值VariableDimensions
属性必须0
。
如果你再培训使用新数据树模型或不同的设置,在树中节点的数目可以有所不同。因此,指定的第一个维度SizeVector
这些属性的属性,这样您就可以更新的节点生成的代码:孩子们
,割点
,CutPredictorIndex
,或NodeMean
。然后软件自动修改其他属性。
例如,设置的第一个值SizeVector
的属性NodeMean
财产正
。软件修改SizeVector
和VariableDimensions
的属性孩子们
,割点
,CutPredictorIndex
为了配合新的上限在树上的节点数量。此外,的第一个值VariableDimensions
的属性NodeMean
更改1
。
configurer.NodeMean。SizeVector= [Inf 1];
儿童SizeVector属性被修改以满足配置约束。SizeVector属性为割点已被修改,以满足配置约束。SizeVector属性CutPredictorIndex已被修改,以满足配置约束。儿童VariableDimensions属性被修改以满足配置约束。VariableDimensions属性为割点已被修改,以满足配置约束。VariableDimensions属性CutPredictorIndex已被修改,以满足配置约束。
configurer.NodeMean.VariableDimensions
ans =1 x2逻辑阵列1 0
生成代码
生成C / c++代码,您必须访问一个C / c++编译器配置正确。MATLAB编码器定位和使用支持,安装编译器。金宝app您可以使用墨西哥人
设置
查看和更改默认编译器。更多细节,请参阅改变默认的编译器。
生成的代码预测
和更新
回归树模型的功能(Mdl
)。
generateCode(配置)
generateCode输出文件夹中创建这些文件:初始化。米”、“预测。米”、“更新。米”、“RegressionTreeModel。垫的代码生成成功。
的generateCode
函数完成这些操作:
生成所需的MATLAB文件生成代码,包括两个入口点函数
predict.m
和update.m
为预测
和更新
的功能Mdl
,分别。创建一个墨西哥人函数命名
RegressionTreeModel
两个入口点函数。创建中的墨西哥人功能的代码
codegen \墨西哥人\ RegressionTreeModel
文件夹中。墨西哥人功能复制到当前文件夹。
验证生成的代码
一些预测数据来验证是否通过预测
的函数Mdl
和预测
墨西哥人的函数返回相同的预测反应。在墨西哥人叫一个入口点函数有多个入口点函数,函数名指定为第一个输入参数。
[Yfit、节点]=预测(Mdl XTrain);[Yfit_mex, node_mex] = RegressionTreeModel (“预测”,XTrain);
比较Yfit
来Yfit_mex
和节点
来node_mex
。
马克斯(abs (Yfit-Yfit_mex), [],“所有”)
ans = 0
node_mex isequal(节点)
ans =逻辑1
一般来说,Yfit_mex
可能包括舍入差异比较Yfit
。在这种情况下,对比确认Yfit
和Yfit_mex
是相等的。
isequal
返回逻辑1 (真正的
)如果所有的输入参数是相等的。确认进行了比较预测
的函数Mdl
和预测
墨西哥人的函数返回相同的节点数。
重新培训模型和更新参数生成的代码
使用整个数据集训练模型。
retrainedMdl = fitrtree (X, Y);
提取参数更新使用validatedUpdateInputs
。这个函数修正模型参数的检测retrainedMdl
并验证修改后的参数值是否满足编码器的属性参数。
params = validatedUpdateInputs(配置、retrainedMdl);
在生成的代码更新参数。
RegressionTreeModel (“更新”params)
验证生成的代码
比较的输出参数预测
的函数retrainedMdl
和预测
功能更新的墨西哥人的功能。
[Yfit、节点]=预测(retrainedMdl X);[Yfit_mex, node_mex] = RegressionTreeModel (“预测”,X);马克斯(abs (Yfit-Yfit_mex), [],“所有”)
ans = 0
node_mex isequal(节点)
ans =逻辑1
比较证实了预测反应和节点数量是相等的。
输入参数
配置
- - - - - -编码器配置
编码器配置对象
编码器配置的机器学习模型,指定为一个编码器通过使用创建的配置对象learnerCoderConfigurer
。
模型 | 编码器配置对象 |
---|---|
二叉决策树的多类分类 | ClassificationTreeCoderConfigurer |
看到下面成了和二进制分类的支持向量机 | ClassificationSVMCoderConfigurer |
线性模型的二进制分类 | ClassificationLinearCoderConfigurer |
多类支持向量机模型和线性模型 | ClassificationECOCCoderConfigurer |
二叉决策树的回归 | RegressionTreeCoderConfigurer |
金宝app支持向量机(SVM)回归 | RegressionSVMCoderConfigurer |
线性回归 | RegressionLinearCoderConfigurer |
retrainedMdl
- - - - - -重新训练机器学习模型
完整的模型对象|紧凑的模型对象
重新训练机器学习模型,指定为一个完整的或紧凑的模型对象,按照这个表支持的模型。金宝app
模型 | 全/紧凑的模型对象 | 培训功能 |
---|---|---|
二叉决策树的多类分类 | ClassificationTree ,CompactClassificationTree |
fitctree |
看到下面成了和二进制分类的支持向量机 | ClassificationSVM ,CompactClassificationSVM |
fitcsvm |
线性模型的二进制分类 | ClassificationLinear |
fitclinear |
多类支持向量机模型和线性模型 | ClassificationECOC ,CompactClassificationECOC |
fitcecoc |
二叉决策树的回归 | RegressionTree ,CompactRegressionTree |
fitrtree |
金宝app支持向量机(SVM)回归 | RegressionSVM ,CompactRegressionSVM |
fitrsvm |
线性回归 | RegressionLinear |
fitrlinear |
输出参数
参数个数
——验证参数更新
结构
验证参数更新的机器学习模型,指定为一个结构,每个参数提取的字段retrainedMdl
。
的模型参数参数个数
包括中列出的所有参数UpdateInputs
的属性配置
可调模型参数的列表。
您可以使用参数个数
作为一个输入参数更新
更新模型参数。
提示
validatedUpdateInputs
返回一个错误消息名称-值对的如果你修改任何参数表中列出当你重新训练模型retrainedMdl
。在这种情况下,您不能使用更新
更新参数。你必须再次生成C / c++代码。模型 参数不支持更新金宝app 二叉决策树的多类分类 参数的 fitctree
- - - - - -“类名”
,“ScoreTransform”
看到下面成了和二进制分类的支持向量机 参数的 fitcsvm
- - - - - -“类名”
,“KernelFunction”
,“PolynomialOrder”
,“ScoreTransform”
,“标准化”
线性模型的二进制分类 参数的 fitclinear
- - - - - -“类名”
,“ScoreTransform”
多类支持向量机模型和线性模型 参数的
fitcecoc
- - - - - -“类名”
,“编码”
,“ScoreTransform”
如果你指定二进制学习者
fitcecoc
作为模板对象(见“学习者”
),然后为每一个二进制的学习者,你不能修改以下:参数的
templateSVM
- - - - - -“KernelFunction”
,“PolynomialOrder”
,“标准化”
参数的
templateLinear
- - - - - -“学习者”
(因为修改模型类型变化的分数变换二进制学习者)
二叉决策树的回归 参数的 fitrtree
- - - - - -“ResponseTransform”
支持向量机回归 参数的 fitrsvm
- - - - - -“KernelFunction”
,“PolynomialOrder”
,“ResponseTransform”
,“标准化”
线性回归 参数的 fitrlinear
- - - - - -“ResponseTransform”
validatedUpdateInputs
显示一条警告消息,如果机器学习模型参数配置
和retrainedMdl
都是相同的。
版本历史
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。