主要内容

预测类标签使用ClassificationNeuralNetwork预测块

这个例子展示了如何使用ClassificationNeuralNetwork预测块的标签预测模型®。金宝app块接受一个观察(预测数据)并返回的预测类标签和类评分观察使用训练好的神经网络分类模型。

训练神经网络分类器

训练一个神经网络分类器,并评估测试集上的分类器的性能。

加载humanactivity数据集。该数据集包含24075 5观察物理人类活动:坐着,站着,散步、跑步、和跳舞。每个观察60特性提取加速度数据衡量智能手机加速计传感器。

负载humanactivity

创建预测X作为一个数字矩阵包含60 24075年观测特性。创建类标签Y作为一个数值向量包含活动id的整数:1,2,3,4,5代表坐着,站着,散步、跑步、和跳舞。

X =壮举;Y = actid;

随机观测分割成分层的训练集和测试集,使用y类信息的使用大约80%的观察来训练一个神经网络模型,和20%的观察来测试新数据训练模型的性能。

rng (“默认”)%的再现性分区简历= cvpartition (Y,“坚持”,0.20);

提取训练和测试指标。

trainingInds =培训(简历);testInds =测试(简历);

指定的培训和测试数据集。

XTrain = X (trainingInds:);YTrain = Y (trainingInds);XTest = X (testInds:);欧美= Y (testInds);

训练一个神经网络分类器通过训练数据XTrainYTrainfitcnet函数。指定第一完全连接层和20 40输出输出第二完全连接层。

nnetMdl = fitcnet (XTrain YTrain,“LayerSizes”40 [20])
nnetMdl = ClassificationNeuralNetwork ResponseName:‘Y’CategoricalPredictors::[]类名(1 2 3 4 5)ScoreTransform:“没有一个”NumObservations: 19260 LayerSizes: 40[20]激活:“relu”OutputLayerActivation:“softmax”解算器:“LBFGS”ConvergenceInfo: [1 x1 struct] TrainingHistory: [1000 x7表]属性,方法

nnetMdl是一个培训ClassificationNeuralNetwork模型。可以使用点符号来访问的属性nnetMdl。例如,您可以指定nnetMdl.TrainingHistory获得更多的培训历史信息的神经网络模型。

评估测试集上的分类器的性能通过计算测试集分类精度。

testError =损失(nnetMdl XTest,欧美,“LossFun”,“classiferror”);testAccuracy = 1 - testError
testAccuracy = 0.9821

创建模型模型金宝app

这个示例提供了仿真软件模型金宝appslexClassificationNeuralNetworkPredictExample.slx,包括ClassificationNeuralNetwork预测块。您可以打开仿真软件模型,或者创建一金宝app个新的模型如本节所述。

开放提供模型

打开模型模型金宝appslexClassificationNeuralNetworkPredictExample.slx

SimMdlName =“slexClassificationNeuralNetworkPredictExample”;open_system (SimMdlName)

金宝appSimulinkClassificationNNPredict.png

如果你打开仿真软件模型,软件运行金宝app的代码PreLoadFcn回调函数在装货前仿真软件模型。金宝app的PreLoadFcn回调函数的slexClassificationNeuralNetworkPredictExample如果您的工作区包含包括代码检查nnetMdl变量的训练模式。如果工作空间不包含变量,PreLoadFcn加载示例数据,训练神经网络模型,并创建一个输入信号的仿真软件模型。金宝app查看回调函数设置上节建模选项卡上,单击模型设置并选择模型属性。然后,在回调选项卡中,选择PreLoadFcn回调函数的模型的回调窗格。

创建新的模型

而不是打开提供的模型,你可以创建一个新的模型。创建一个新的模型模型,打开金宝app空白模型模板和添加ClassificationNeuralNetwork预测块。添加尺寸和外港块和连接他们ClassificationNeuralNetwork预测块。

双击ClassificationNeuralNetwork预测块打开参数对话框。您可以指定一个工作空间变量的名称包含了训练的神经网络模型。默认的变量名nnetMdl。单击刷新按钮。的训练有素的机器学习模型对话框的选项用来训练模型nnetMdl。选择为预测类分数添加输出端口复选框添加第二个输出端口分数

ClassificationNNPredict.png

ClassificationNeuralNetwork预测块预计包含60预测一个观察值。双击尺寸块中,并设置港维60的信号的属性选项卡。

创建一个输入信号的形式结构阵列的仿真软件模型。金宝app结构数组必须包含这些字段:

  • 时间——的时间点观察输入模型。预测的方向必须对应于观测数据。在这个例子中,时间必须是一个列向量。

  • 信号- 1×1结构阵列描述输入数据和包含字段,在那里是一个矩阵的预测数据,是预测变量的数量。

为未来的人类活动创建一个适当的结构数组。

activityInput。时间= (0:length(YTest)-1)'; activityInput.signals(1).values = XTest; activityInput.signals(1).dimensions = size(XTest,2);

从工作区导入信号数据:

  • 打开配置参数对话框。在建模选项卡上,单击模型设置

  • 数据导入/导出窗格中,选择输入复选框并输入activityInput在相邻的文本框。

  • 解算器窗格中,在仿真时间,设置停止时间activityInput.time(结束)。下解算器的选择,设置类型固定步,并设置解算器离散(没有连续状态)

更多细节,请参阅负载为模拟信号数据(金宝app模型)

模拟模型

模拟模型。

sim (SimMdlName);

当尺寸块检测到一个观察,它将观察到ClassificationNeuralNetwork预测块中。您可以使用仿真数据检查(金宝app模型)外港的查看记录的数据块。

另请参阅

相关的话题