主要内容

工业机械和制造过程模型构建条件

这个例子构建条件模型传感器收集的数据从一个工业制造机器。使用分类学习者应用程序构建一个二进制分类模型,确定机器的条件是“维修之后”或“前维护。”火车the model using the data collected both immediately before and after a scheduled maintenance. Assume that the data collected after scheduled maintenance represents normal observations, and the data collected before maintenance represents anomalies. You can use the trained model to monitor incoming observations and determine whether a new maintenance cycle is necessary by detecting anomalies in the observations.

在这个例子中分类工作流程包括以下步骤:

  1. 数据加载到MATLAB®工作区。

  2. 将数据导入到分类学习者应用和保留一定比例的数据进行测试。

  3. 火车二进制分类模型在传感器可以检测到异常数据。使用数据集内的所有功能。

  4. 性能评估模型使用模型对验证数据准确性。

  5. 中断应用程序会话模型的探索方面的部署,包括模型可以适用于目标硬件是否在指定的分类任务的资源。

  6. 恢复应用程序会话建立新的模型与减少的大小。减少模型大小,训练后的模型选择功能使用功能排名。

  7. 选择一个最终的模型,观察其准确性的测试集。

  8. 出口的最终模型部署在目标硬件。

加载数据

这个示例使用一个数据集,其中包含12个特征从三轴振动测量中提取一个工业机器。执行以下命令来下载和提取数据集文件。

url =“https://ssd.mathworks.com/金宝appsupportfiles/predmaint/”+“anomalyDetection3axisVibration / v1 / vibrationData.zip”;outfilename = websave (“vibrationData.zip”url);解压缩(outfilename)

加载featureAll表中FeatureEntire.mat文件。

负载(“FeatureEntire.mat”)

表包含17642个观测为13个变量(一个分类响应变量和12个预测变量)。

缩短预测变量名称通过删除冗余的短语(“_stats / Col1_”)。

i = 13 featureAll.Properties.VariableNames (i) =擦除(featureAll.Properties.VariableNames(我),“_stats / Col1_”);结束

预览表的前八行。

头(featureAll)
ans =表8×13标签ch1CrestFactor ch1Kurtosis ch1RMS ch1Std ch2Mean ch2RMS ch2Skewness ch2Std ch3CrestFactor ch3SINAD ch3SNR ___________ ch3THD ______ * * *交__________累积……累积是_____________ ________之前2.3683 1.927 2.2225 2.2225 -0.015149 0.62512 4.2931 0.62495 5.6569 -5.4476 -4.9977 -4.4608 2.402 1.9206 2.1807 2.1803 -0.018269 0.56773 3.9985 0.56744 8.7481 -12.532 -12.419 -3.2353 2.4157 1.9523 2.1789 2.1788 -0.0063652 0.45646 2.8886 0.45642 8.3111 -12.977 -12.869 -2.9591 2.4595 1.8205 2.14 2.1401 0.0017307 0.41418 2.0635 0.41418 7.2318 -13.566 -13.468 -2.7944 2.2502 1.8609 2.3391 2.339 -0.0081829 0.3694 3.3498 0.36931 6.8134 -13.33 -13.225 -2.7182 2.4211 2.2479 2.1286 2.1285 0.011139 0.36638 1.8602 0.36621 7.4712 -13.324 -13.226 -3.0313 3.3111 4.0304 1.5896 1.5896 -0.0080759 0.47218 2.1132 0.47211 8.2412 -13.85 -13.758 -2.7822 2.2655 2.0656 2.3233 2.3233 -0.0049447 0.37829 2.4936 0.37827 7.6947 -13.781 -13.683 -2.5601

第一列中的值的标签是观察,之前,这表明是否每个观察是收集之前或之后立即安排维修,分别。剩下的列包含12个特征提取振动测量使用诊断功能设计应用在预测维修工具箱™。提取的特征信息,明白了使用三轴振动数据异常检测在工业机械(预测维护工具箱)

将数据导入到应用程序和对数据进行分区

导入featureAll表的分类学习者应用,并留出10%的数据作为测试集。

  1. 应用程序选项卡上,单击显示更多箭头显示应用画廊。在机器学习和深度的学习组中,单击分类学习者

  2. 分类学习者选项卡,文件部分中,点击新会话>从工作区

    分类学习者选项卡

  3. 新会话从工作区对话框中,选择表featureAll数据集变量列表。应用程序选择响应(标签(12)和预测变量特性)根据他们的数据类型。

  4. 测试部分,单击复选框留出一个测试数据集。指定使用10%的进口数据作为测试集。featureAll表包含17642个样本,所以留出10%收益率1764样品在测试集和训练集的15878个样本。

    新会话从工作区对话框

  5. 接受默认的验证方案和继续,点击开始会议。默认的验证选项是5倍交叉验证,防止过度拟合。

或者,您可以打开的分类学习者应用MATLAB命令窗口输入classificationLearner。您可以指定预测数据,响应变量和百分比的数据进行测试。

classificationLearner (featureAll“标签”,TestDataFraction = 0.1)

火车模型使用所有功能

首先,火车模型使用12个特性在数据集。模型面板已经包含一个草案好树模型。您可以添加多种模式草案模型通过选择他们从窗格中模型画廊,然后火车模型。

  1. 分类学习者选项卡,模型部分,单击显示更多箭头打开画廊。

  2. 选择三种模式:

    • 袋装的树木集成分类器组中,单击袋装的树木

    • 细高斯支持向量机(SVM)金宝app金宝app支持向量机组中,单击细高斯支持向量机

    • 双层的神经网络-神经网络分类器组中,单击双层神经网络

    该应用程序包括草案模型模型窗格。

    草稿列表模型在模型面板中

    有关每个分类器选项的更多信息,请参阅选择分类器选项

  3. 火车部分的分类学习者选项卡上,单击火车都并选择火车都。应用列车的四个模型使用12个特性。

    请注意

    • 如果你有并行计算工具箱™,那么应用程序的使用并行默认按钮进行切换。你点击后火车都并选择火车都选择火车应用程序打开一个平行的工人。在这段时间里,你不能与软件交互。池打开后,可以继续与应用程序交互,同时并行模型火车。

    • 如果你没有并行计算工具箱,然后应用程序了使用背景培训复选框的火车都菜单默认选中。你选择一个选项来训练模型后,应用程序打开一个背景池。池打开后,可以继续与应用程序交互,同时在后台模型火车。

评估模型的性能

你可以比较基于多个特征训练模型。例如,您可以评估模型精度,模型尺寸(影响内存或磁盘存储需求),计算相关费用的培训和测试模型,和模型的可解释性。

比较四个训练模型基于模型对验证数据准确性测量。

模型窗格中,每个模型都有一个验证准确性分数表明正确预测反应的比例。

请注意

验证了一些随机性的结果。你的模型验证结果可以从这个例子中所示的结果不同。

  1. 训练分类模型的基础上,验证精度。在模型窗格中,单击排序箭头并选择准确性(验证)

    排序的列表训练模型的模型面板中

    虽然三个模型共享相同的比例进行验证准确性,与3位有效数字,整体模型实现最高精度高值。应用程序突出了整体模型,概述了其准确性分数,和模型时出现第一个模型是按验证精度。

  2. 为了更好地理解结果,重新排列的布局图,这样你就可以比较混淆矩阵的四个模型。单击文档行为模型的最右边的箭头图选项卡。选择瓷砖都选择并指定一个2×2的布局。

    对并排模型对比使用文档的行为选择箭头

    在每个情节的右上角,点击隐藏情节选项按钮让更多的情节。

    验证混淆矩阵的对比

    与其它模型相比,整体模型(模型2)更少的非对角的细胞对应错误分类的观察。

为更多的细节在评估模型的性能,明白了可视化和评估分类器在分类学习者的表现

出口模式工作区并保存应用程序会话

最好的模型导出到工作区并检查模型的大小。

  1. 模型窗格中,单击合奏模型来选择它。

  2. 分类学习者选项卡上,单击出口,点击出口模式并选择出口模式。排除的训练数据导出的模型通过清除该复选框在出口分类模型对话框。你仍然可以使用紧凑的模型进行预测新数据。

    请注意

    出口的最终模型分类学习者总是充分利用训练数据集,不含任何数据用于测试。验证方案,使用只会影响应用程序的方式计算验证指标。

  3. 在出口分类模型对话框,编辑导出的变量的名称,如果你想要的,然后点击好吧。默认名称为导出的模型,trainedModel,增加每次出口(例如,trainedModel1),以避免重写现有的出口模式。

    新变量trainedModel出现在工作区中。

  4. 保存并关闭当前应用程序会话。点击保存文件部分的分类学习者选项卡。指定会话文件名和位置,然后关闭应用程序。

检查模型的大小

通过使用检查导出的模型大小在命令窗口函数。

mdl = trainedModel.ClassificationEnsemble;谁mdl
类属性名称大小字节mdl 1 x1 315622 classreg.learning.classif.CompactClassificationEnsemble

假设您想要部署模型可编程序逻辑控制器(PLC)与内存有限,与12所有功能和整体模型不适合在PLC上指定的资源。

重启应用程序会话

在分类学习者,打开之前保存应用程序会话。点击开放文件部分。在选择文件打开对话框中,选择保存的会话。

选择功能使用功能排名

减少模型大小的一种方法是减少数量的排名和选择特性模型中使用特性。建立新的模型与减少的特性和评估模型的准确性。

  1. 创建一个副本,每个训练模式。在选择一个模型模型窗格中,单击重复的模型部分的分类学习者选项卡,或右键单击并选择模型重复的

  2. 排名算法在分类学习者使用功能,点击特征选择选项部分的分类学习者选项卡。应用程序打开一个默认的特征选择选项卡。

  3. 默认的特征选择选项卡上,单击MRMR排名算法特点。应用程序显示一个条形图的重要性得分排序功能,在大的成绩(包括表明更大的功能的重要性。右边的表显示了排名的特性和他们的分数。

  4. 特征选择,使用默认选项的选择排名最高的特性来避免偏见的验证指标。指定保持3特性模型的训练。

    违约与MRMR特征选择选项卡选择排名算法的特性

    特征排序的结果是基于完整的数据集,包括培训和验证数据而不是测试数据。应用程序使用排名最高的功能训练的完整模型(即模型训练的完整的数据集)。对于每个训练褶皱,应用训练之前进行特征选择模型。不同的折叠可以选择不同的预测排名最高的特性。

  5. 点击保存和应用。app应用特征选择新的草案模型的变化模型窗格。注意,草案模型使用3/12特性(3 12)的特性。

  6. 火车部分中,点击火车都并选择火车都。应用列车所有新草案模型使用三个特性。

    模型面板中更新模型训练三个特性

    模型训练使用只有三个特性表现的模型相当,训练有素的所有特性。这一结果表明,基于模型只有三大功能可以实现类似的准确性基于所有功能作为一个模型。

    在所有的训练模型,表现最好的模型的神经网络模型有三个特性。

特征选择的更多细节,请参阅特征选择和特征转换使用分类学习者应用

调查散点图的重要特性

检查的散点图使用两大特性,表现最好的模型ch3THDch3SINAD。情节应该显示强大的类分离,考虑到观测模型精度高。

  1. 模型窗格中,选择表现最好的模型(模型,神经网络模型)。

  2. 分类学习者选项卡,情节和解释部分,单击显示更多箭头打开画廊,然后单击散射验证结果组。

  3. 选择两个最重要的预测因子,ch3THDch3SINAD,使用XY列表下预测

    应用程序创建了一个散点图的两个选择的预测,组合模型的预测。因为你是使用交叉验证,这些预测验证的观察。换句话说,每个预测软件获得通过使用一个模型,训练没有相应的观察。

    散点图的两个最重要的特性,ch3THD ch3SINAD

    情节展示了强大的分离之前两个特征的类别。

有关更多信息,请参见调查在散点图特征情节分类器的结果

进一步的实验

选择最后一个模型,您可以在这些方面进一步探索,如果必要的话:

  • 模型精度,获得更好的准确性,您可以探索更多的模型类型(例如,试一试所有模型画廊),进一步的特征选择,或hyperparameter调优。例如,在训练之前,选择一个模型的草案模型窗格,然后单击模型总结选项卡。您可以指定的分类器hyperparameter选项模型Hyperparameters部分。标签还包括特征选择主成分分析部分选项可以设置。

    总结与选项选项卡草案神经网络模型

    如果你想自动调整hyperparameters特定模型的类型,您可以选择相应的Optimizable模型模型画廊和执行hyperparameter优化。有关更多信息,请参见Hyperparameter优化分类学习者应用

  • 计算复杂度——你可以找到的培训时间和预测速度总结选项卡的训练模式。例如,看到总结选项卡中表现最佳的模型(模型,神经网络模型)。

    摘要标签训练的神经网络模型

假设您决定使用的神经网络模型训练的三大特性的基础上,验证精度和计算复杂度。

在测试集评估模型的准确性

您可以使用测试设置精度对看不见的数据模型的估计精度。评估使用测试集的神经网络模型。

  1. 模型窗格中,选择神经网络模型。

  2. 分类学习者选项卡,测试部分中,点击测试所有并选择测试选择

    应用计算测试集的性能模型的完整的训练数据集。正如所料,模型达到类似的精度测试数据(99.8%)相比,验证精度。

    测试精度为选定的模型显示在模型面板中

  3. 显示测试的混淆矩阵集。情节和解释上节分类学习者选项卡,打开画廊,然后单击混淆矩阵(测试)测试结果组。

    混淆矩阵的测试集

更多细节,请参阅评估测试集模型性能

出口最终模型

最终的模型导出到工作区并检查模型的大小。

  1. 在分类学习者,选择的神经网络模型模型窗格。

  2. 分类学习者选项卡上,单击出口,点击出口模式并选择出口模式

  3. 在出口分类模型对话框,编辑导出的变量的名称,如果有必要,然后单击好吧。默认的名称是trainedModel1

  4. 检查模型大小使用函数。

    mdl_final = trainedModel1.ClassificationNeuralNetwork;谁mdl_final
    类属性名称大小字节mdl_final 1 x1 7842 classreg.learning.classif.CompactClassificationNeuralNetwork

    最终的大小模型(mdl_finaltrainedModel1)的大小小于整体模型(mdltrainedModel)。

信息潜在的预测或生成代码部署下一步的预测,明白了出口分类模型来预测新数据

相关的话题