出口回归模型预测新数据
模型导出到工作空间
在您创建回归模型回归学习者的交互应用,你可以导出你的工作空间的最佳模型。然后您可以使用,使用新数据训练模型进行预测。
请注意
最终的模型回归学习者出口总是充分利用训练数据集,不含任何数据用于测试。你使用的验证方案,只会影响应用程序的方式计算验证指标。您可以使用可视化结果的验证指标和各种阴谋来挑选最好的模型对你的回归问题。
这里是出口的步骤模型,以MATLAB®工作区:
在这个应用程序中,选择你想要的模型导出的模型窗格。
在回归的学习者选项卡,出口部分,单击导出选项之一:
包括数据用于训练模型,点击出口模式并选择出口模式。这个选项出口训练模型工作区包含回归对象的结构,如
RegressionTree
。模型对象包括训练数据。注意,一些模型,如内核近似模型,没有存储训练数据。排除训练数据,单击出口模式并选择出口紧凑的模型。这个选项出口模型删除了不必要的数据。即出口结构包含一个回归的对象,在可能的情况下,不包括训练数据。你仍然可以用模型做预测新数据。
出口模式对话框,检查您的输出变量的名称,如果你想要编辑它。然后,单击好吧。默认名称为您的出口模式,
trainedModel
,增加每次出口避免覆盖模型(例如,trainedModel1
)。新变量(例如,
trainedModel
)出现在您的工作区中。这个应用程序显示信息在命令窗口中导出的模型。读消息,学习如何与新数据做出预测。
对新数据进行预测
你从回归模型导出到工作区后学习者,或者从程序运行生成的代码,你会得到一个trainedModel
结构,您可以使用使用新数据进行预测。的结构包含一个模型对象和函数的预测。结构可以使预测模型,包括主成分分析(PCA)。
用导出的模型对新数据进行预测,
T
:yfit = trainedModel.predictFcn (T)
trainedModel
是你导出的变量的名称。提供的数据
T
与相同的格式和数据类型使用的训练数据应用(表或矩阵)。如果你提供一个表,然后确保它包含训练数据预测的名字一样。的
predictFcn
忽略了其他表中的变量。变量格式和类型必须匹配最初的训练数据。如果你提供一个矩阵,它必须包含相同的预测列或行作为训练数据,以同样的顺序和格式。不包括一个响应变量,应用程序中的任何变量,你没有进口,或其他未使用的变量。
输出
yfit
为每个数据点包含一个预测。研究领域的出口结构。帮忙做预测,输入:
trainedModel.HowToPredict
你也可以从出口结构中提取模型对象进行进一步分析。如果你使用功能转换PCA等应用程序,你必须考虑这个变换利用PCA的字段中的信息结构。
生成MATLAB代码来训练模型的新数据
在您创建交互式地回归模型中回归学习者应用程序,您可以生成MATLAB代码最好的模型。然后您可以使用代码来训练模型的新数据。
生成MATLAB代码:
火车在巨大的数据集。探索模型在应用训练数据的一个子集,然后生成代码来训练一个选定的模型更大的数据集。
为培训模型创建脚本,而不需要学习语法的不同的功能。
检查代码以编程方式学习如何训练模型。
修改代码进行进一步的分析,例如设置选项,您不能改变的应用程序。
重复你的不同的数据分析和自动化培训。
来生成代码并使用它来训练模型与新数据:
在应用程序,从模型窗格中,选择你想要的模型来生成代码。
在回归的学习者选项卡,出口部分中,点击生成函数。
从你的会话和应用程序生成的代码在MATLAB中显示文件编辑器。文件包括预测和响应,模型训练方法,验证方法。保存文件。
再培训你的模型,从命令行调用的函数与原始数据或新的数据作为输入参数或参数。新数据与原始数据必须具有相同的形状。
复制生成的代码的第一行,不包括这个词
函数
,编辑trainingData
输入参数来反映你的训练数据的变量名或新数据。同样,编辑responseData
输入参数(如适用)。例如,再培训一个回归模型的训练
cartable
数据集,输入:[trainedModel, validationRMSE] = trainRegressionModel (cartable)
生成的代码返回
trainedModel
结构包含相同的字段结构创建在您导出模型从回归学习者工作区。
如果你想自动化培训与新数据相同的模型,或者学习如何编程训练模型,检查生成的代码。代码显示了如何:
处理数据成正确的形状。
训练模型和指定的所有模型的选择。
执行交叉验证。
计算统计数据。
计算验证预测和分数。
请注意
如果您生成MATLAB代码从一个训练有素的模型中,生成的代码不包括优化过程。
为预测生成C代码
如果你训练一个使用回归模型在这个表的学习者,你可以为预测生成C代码。
模型类型 | 基本模型对象 |
---|---|
线性回归 | LinearModel 或CompactLinearModel |
决策树 | RegressionTree 或CompactRegressionTree |
金宝app支持向量机 | RegressionSVM 或CompactRegressionSVM |
高斯过程回归 | RegressionGP 或CompactRegressionGP |
系综 | RegressionEnsemble ,CompactRegressionEnsemble ,或RegressionBaggedEnsemble |
C代码生成需要:
MATLAB编码器™许可证
合适的模型
例如,火车在回归树模型的学习者,然后导出模型的工作区。
发现潜在的出口结构回归模型对象。检查的字段结构的模型对象,例如,
S.RegressionTree
,在那里年代
是你的名字的结构。底层模型对象取决于你是否导出一个紧凑的模型。可以是一个模型对象
RegressionTree
或CompactRegressionTree
对象。使用的函数
saveLearnerForCoder
准备代码生成的模型:saveLearnerForCoder (Mdl文件名)
。例如:saveLearnerForCoder (S.RegressionTree“myTree”)
创建一个函数加载保存模型,使预测新数据。例如:
函数yfit = predictY (X)% # codegen% PREDICTY使用树模型预测的反应在X % PREDICTY使用测量myTree.mat %和树模型文件,和then%在yfit回报预测反应。CompactMdl = loadLearnerForCoder (“myTree”);yfit =预测(CompactMdl X);结束
生成一个墨西哥人从你的函数。例如:
codegenpredictY.marg游戏{数据}
% # codegen
编译指令表明MATLAB代码是用于代码生成。确保墨西哥人函数可以使用相同的输入,在工作区中指定数据作为参数的函数使用arg游戏
选择。指定数据
作为一个矩阵只包含预测列用于训练模型。使用墨西哥人函数进行预测。例如:
yfit = predictY_mex(数据);
如果你使用特征选择或PCA特征转换的应用程序,那么您需要采取额外的步骤。如果使用手动特征选择,供应相同的列X
。的X
参数是函数的输入。
如果你使用PCA应用,使用PCA的字段中的信息导出结构考虑到这种转变。不管您导入一个表或一个矩阵的应用,只要X
包含矩阵列在同一个订单。在生成代码之前,遵循这些步骤:
保存
PCACenters
和PCACoefficients
训练回归的字段结构,年代
,文件使用以下命令:保存(“pcaInfo.mat”,“结构”,“年代”,“PCACenters”,“PCACoefficients”);
函数文件中包含其他行执行PCA变换。创建一个函数加载保存模型,进行主成分分析,预测新数据。例如:
函数yfit = predictY (X)% # codegen% PREDICTY使用树模型预测的反应在X % PREDICTY使用测量myTree.mat %和树模型文件,%然后返回yfit预测反应。%如果使用手册特征选择的应用程序,确保X%只包含的列包含在模型中。CompactMdl = loadLearnerForCoder (“myTree”);pcaInfo = coder.load (“pcaInfo.mat”,“PCACenters”,“PCACoefficients”);PCACenters = pcaInfo.PCACenters;PCACoefficients = pcaInfo.PCACoefficients;%执行PCA变换pcaTransformedX = bsxfun (@minus X, PCACenters) * PCACoefficients;yfit =预测(CompactMdl pcaTransformedX);结束
更多信息在C代码生成工作流和局限性,明白了代码生成。有关示例,请参见saveLearnerForCoder
和loadLearnerForCoder
。
使用MATLAB编译器部署的预测
你从回归模型导出到工作区后学习者,你可以将它部署使用MATLAB编译器™。
假设你导出训练模型,以MATLAB工作区根据指令模型导出到工作空间,这个名字trainedModel
。部署预测,遵循这些步骤。
保存
trainedModel
在.mat文件结构。保存mymodeltrainedModel
写的代码被编译。这段代码必须加载训练模型,并使用它来作出预测。它还必须有一个编译指示,所以编译器认为统计和机器学习工具箱™代码需要在编译后的应用程序。这个编译指示可以是任何模型训练函数用于回归的学习者(例如,
fitrtree
)。函数ypred = mypredict(台)% #函数fitrtree负载(“mymodel.mat”);ypred = trainedModel.predictFcn(台);结束
作为一个独立的应用程序进行编译。
世纪挑战集团- mmypredict.m
出口模式部署MATLAB生产服务器
在火车模型回归学习者之后,您可以导出部署的模式MATLAB生产服务器™(需要MATLAB编译器SDK™)。
选择训练模式模型窗格。在回归的学习者选项卡,出口部分中,点击出口模式并选择出口模式部署。
在选择项目文件模型部署对话框中,选择您的项目文件的位置和名称。
自动生成的
predictFunction.m
文件,检查并根据需要修改代码。使用生产服务器编译器应用程序打包您的模型和预测功能。你可以模拟模型部署到MATLAB生产服务器通过单击测试客户端按钮测试部分的编译器选项卡,然后包代码通过单击包按钮包部分。
例如,看到的部署模型训练回归学习者MATLAB生产服务器。有关更多信息,请参见为MATLAB生产服务器创建可部署归档文件(MATLAB生产服务器)。
另请参阅
功能
类
RegressionTree
|CompactRegressionTree
|LinearModel
|CompactLinearModel
|RegressionSVM
|CompactRegressionSVM
|RegressionGP
|CompactRegressionGP
|RegressionKernel
|RegressionEnsemble
|CompactRegressionEnsemble
|RegressionNeuralNetwork
|CompactRegressionNeuralNetwork