主要内容

使用生成的自动特征提取MATLAB代码

诊断功能设计,你探索功能交互使用的信号处理工具,功能生成和排名。一旦你确定哪些特性表现最好,你可以生成代码,复制你的交互式计算和允许您自动特征提取在相似的输入数据。选择你的特性,计算变量,和排名表指定代码包括什么。

生成的代码,您可以:

  • 将代码直接应用于一个更大的组测量数据,包括更多的成员,因此,增加成员的数量在你的特性集,使用更多的成员提高模型训练分类学习者

  • 修改功能以满足您的应用程序。例如,您可以添加信号处理或功能不可用诊断功能设计

  • 部分功能合并到另一组您正在开发的代码。

生成一个函数特性

最简单的方法来生成代码进行自动特征提取是使用出口按钮功能设计选项卡并选择生成函数特性

导出按钮在诊断功能设计显示菜单功能和数据导出和代码生成

选择打开一组选项允许您指定特性包括从功能表,你选择。代码生成是可能只有一个功能表。

选项指定特性的诊断功能设计包含在代码生成

你可以为你所有的特性或生成代码,如果你表现排名,你可以选择顶级特性包括的数量。如果你有进行排名,您还可以生成函数使用出口按钮功能的排名选项卡。生成的代码包含任何计算信号或光谱的计算功能需要。代码包含一个序言,总结了计算代码执行。

% DIAGNOSTICFEATURES再现结果诊断功能的设计师。%%的输入:% inputData:一个表或一个单元阵列表/矩阵包含%的数据导入到应用程序。%%输出:% featureTable:一个表包含所有功能和条件变量。% outputTable:包含计算结果表。%%这个函数计算信号:% Vibration_tsa /数据%%这个函数计算光谱:% Vibration_ps / SpectrumData%%这个函数计算特点:% Vibration_sigstats /意味着% Vibration_tsa_rotmac / RMS% Vibration_tsa_rotmac / CrestFactor% Vibration_ps_spec / PeakAmp1% Vibration_ps_spec / PeakFreq1% Vibration_ps_spec / BandPower%%组织的功能:% 1。计算信号/光谱特性% 2。计算特征提取到一个表中%%修改函数来添加或删除数据处理,特征的一代%或排序操作。

生成一个特定变量的函数,功能,和排序表

如果你想定制代码生成选项,使用出口>生成函数…选择。采用这一选项,您可以:

  • 选择应用程序代码生成任何输出计算,包括计算信号和光谱,系综统计,排序表。

  • 过滤你的输出,这样您就可以选择在功能与特定的特性,如输入信号或变量名的文本。

您可以生成一个函数功能从一个功能表。如果您使用的是框架处理,每个特性都关联到一个表框架的政策或组合帧大小和帧速率。因此,如果你想生成代码的特征与两种不同的计算框架的政策,或full-signal模式和框架模式,您必须为每个特性表生成一个单独的函数。

当你生成代码框架依赖的信号提取完整的信号,计算完整的信号也出现在生成的代码中。

函数生成选项选择完整的信号模式和框架模式

当您选择出口>生成函数…并选择一个特性来源,包含候选人选择输出打开一个窗口。每个输出行包含额外的信息输出是如何计算的。

窗口在诊断功能设计用于选择代码生成输出

在图中,偏态和RMS特性和功率谱。的细节窗格中显示的输出和输入最近选定的项。的将生成的代码窗格中包含您的选择。

随着选择窗口,选择出口>生成函数…打开代码生成选项卡,其中包含过滤选项。

代码生成选项卡在诊断功能设计选择过滤选项

例如,只选择直接从TSA信号特性计算,选择输入> Vibration_tsa /数据图中显示。

选择从TSA代码生成输入信号数据

过滤选择窗口显示的三个特征是直接基于TSA的信号,随着功率谱,也直接基于TSA的信号。

过滤特性和光谱的选择窗口

你也可以过滤输出,方法,分析类型。例如,如果你想生成代码排序表,选择分析类型>排名

代码生成选项卡在诊断功能设计与分析类型滤波器组排名的选择

选择列表包括t检验和Bhattacharyya排序表。

过滤列表排序表的代码生成

除了过滤列表,您可以过滤文本在变量名的文本输入过滤器。例如,如果您的类型输出过滤器,如以下数据显示,过滤后的列表现在包括振幅峰值和峰值频率的频谱特性。文本匹配是不区分大小写。

输出过滤器设置为所有信号的名字,包括“峰值”这个词

过滤列表的所有特性和光谱与名称包含“峰值”这个词

清除所有的过滤器,点击重置过滤器

重置过滤器按钮

每个过滤视图显示可用的输出的一个子集。显示所有您的选择,点击排序选择

排序方式选择按钮

您所选择的项目,在过滤的观点出现在一组选择列表的顶部。

可能的输出列表,选择分组

为这些物品来生成代码,点击生成函数。这个动作产生一个函数,序言中包括以下信息。

%%这个函数计算信号:% Vibration_tsa /数据%%这个函数计算光谱:% Vibration_ps / SpectrumData%%这个函数计算特点:% Vibration_sigstats /偏态% Vibration_tsa_rotmac / RMS% Vibration_ps_spec / PeakAmp1%%这个函数中使用算法计算特性:% Bhattacharyya%

即使Vibration_tsa /数据不是选择的排序筛选视图中,该函数计算这个信号因为其他信号,选择需要它。

保存并使用生成的代码

应用程序分配默认的名称diagnosticFeatures的函数。您可以保存函数作为一个文件,这个名字,或者重命名函数和文件名。运行功能,遵循语法的函数的代码。例如,假设函数是:

函数[featureTable, outputTable] = diagnosticFeatures (inputData)
这个函数的两个输出特性表,其中包含的特性和条件变量和一个输出表,包含所有的变量。第二个输出参数是可选的。您可以使用此函数在任何输入数据相同的输入变量你原来的数据导入到应用程序。例如,假设你的数据fullDataTable你只需要一个功能表特性。使用:
特点= diagnosticFeatures (fullDataTable)

如果你最初进口表和个人想验证对原始数据的代码,您必须将表。例如,如果您导入表t1,t2,t3表,每个代表一个不同的乐团成员,首先结合成一个单一的输入表的表,然后运行生成的函数。

inputData = {t1、t2、t3};特点= diagnosticFeatures (inputData);

生成代码的一个例子,验证代码与原数据,看看生成诊断功能设计的MATLAB函数。例如,代码适用于一个新的数据集,明白了应用MATLAB函数生成扩展数据集。为生成的代码的描述本身以及它如何执行计算,看看解剖App-Generated MATLAB代码

改变选项生成的代码

当你开发特性,您可以选择是否使用并行计算,在导入过程中,如何处理整体数据存储。在某些情况下,您可能希望生成的代码使用不同的选项比你用于计算功能的应用。例如,你可能想要在代码中调用并行计算时没有使用这个选项。如果你最初选择在本地内存中存储计算结果导入一个数据存储时,你可能希望你的代码将结果直接附加到外部文件,而不是当你运行代码。你可以设置这些选项的代码生成代码生成选项卡。

可能的输出列表,选择分组

选项节中,下列选项可用在下列条件:

另请参阅

相关的话题