В Diagnostic Feature Designer вы исследуете функции в интерактивном режиме, используя инструменты для обработки сигналов, генерации признаков и рейтинга. Если вы определяете, какие функции работают лучше всего, можно сгенерировать код, который воспроизводит ваши интерактивные расчеты и позволяет вам автоматизировать редукцию данных на аналогичных входных данных. Выберите среди своих функций, вычисленных переменных и таблиц рейтинга, чтобы указать, что включает в себя код.
С помощью сгенерированного кода можно:
Примените код непосредственно к большему набору данных измерений, который включает больше представителей и, следовательно, увеличьте количество представителей в наборе функций. Использование большего количества представителей улучшает обучение модели в Classification Learner.
Измените функцию в соответствии с вашим приложением. Например, вы можете добавить обработку сигналов или функции, которые недоступны в Diagnostic Feature Designer.
Включите фрагменты функции в другой набор кода, который вы разрабатываете.
Самый простой способ сгенерировать код для автоматической редукции данных - использовать кнопку Export на вкладке Feature Designer и выбрать Generate Function for Features.
При выборе откроется набор опций, позволяющих задавать функции из выбранной таблицы функций. Генерация кода возможна только для одной таблицы функций за раз.
Вы можете сгенерировать код для всех ваших функций или, если вы выполнили рейтинг, можно выбрать количество верхних функций, которые нужно включить. Если вы выполнили оценку, можно также сгенерировать функцию с помощью кнопки Export на вкладке Feature Ranking. Сгенерированный код включает вычисления для любых вычисленных сигналов или спектров, которые требуются функции. Код включает преамбулу, в которой суммируются расчеты, которые выполняет код.
%DIAGNOSTICFEATURES recreates results in Diagnostic Feature Designer. % % Input: % inputData: A table or a cell array of tables/matrices containing the % data as those imported into the app. % % Output: % featureTable: A table containing all features and condition variables. % outputTable: A table containing the computation results. % % This function computes signals: % Vibration_tsa/Data % % This function computes features: % Vibration_stats/Data_ImpulseFactor % Vibration_stats/Data_Mean % Vibration_stats/Data_ShapeFactor % Vibration_stats/Data_Std % Vibration_tsa_rotmac/Data_RMS % Vibration_tsa_rotmac/Data_CrestFactor % % Organization of the function: % 1. Compute signals/spectra/features % 2. Extract computed features into a table % % Modify the function to add or remove data processing, feature generation % or ranking operations.
Если необходимо настроить выбор для генерации кода, используйте опцию Export > Generate Function for.... С помощью этой опции вы можете:
Выберите генерацию кода для любых выходов, которые вычисляет приложение, включая вычисленные сигналы и спектры, статистику ансамбля и рейтинговые таблицы.
Фильтруйте выходные выходы так, чтобы вы могли выбрать один из функций с определенными характеристиками, таких как входной сигнал или текст с именем переменной.
Можно сгенерировать функцию для функций из одной таблицы признаков за раз. Если вы используете обработку на основе фрейма, каждая таблица функций связана с одним frame policy или комбинацией формата кадра и частоты системы координат. Поэтому, если вы хотите сгенерировать код для функций, вычисленных с двумя различными политика системы координат или с обоими режимом полного сигнала и режимом на основе кадра, вы должны сгенерировать отдельную функцию для каждой таблицы признаков.
Когда вы генерируете код для основанных на кадрах сигналов, которые зависят от выведенных полных сигналов, расчеты для полных сигналов появляются также в сгенерированном коде.
Когда вы выбираете Export > Generate Function for... и выбираете источник функции, открывается окно, содержащее выходы выбора кандидата. Каждая выходная строка включает дополнительную информацию о том, как был вычислен выход.
На рисунке выбраны функции перекоса и RMS, а также спектр степени. На панели Details отображаются выходы и входы для последнего выбранного элемента. Панель Code Will Be Generated For содержит выбранные параметры.
Наряду с окном выбора, выбор Export > Generate Function for... открывает вкладку Code Generation, которая содержит опции фильтрации.
Например, чтобы выбрать только функции, которые вычисляются непосредственно из сигнала TSA, выберите Input > Vibration_tsa/Data, как показано на рисунке.
Отфильтрованное окно выбора отображает три функции, которые основаны непосредственно на сигнале TSA, наряду со спектром степени, который также основан непосредственно на сигнале TSA.
Когда вы задаете определенный входной сигнал, Input фильтр возвращает только элементы, которые используют этот сигнал непосредственно. Для примера список, отфильтрованный по входному сигналу TSA, не содержит функций, которые получают из спектра сигнала TSA. Если вы хотите фильтровать текст, который находится где-либо в цепи расчетов, введите текст в фильтр. Для примера, если вы вводите tsa
в Input фильтр, как показывают следующие рисунки, отфильтрованный список теперь включает спектральные функции TSA. Соответствие текста нечувствительно к регистру.
Можно также фильтровать выход, метод и тип анализа. Для примера, если вы хотите сгенерировать код для таблицы рейтинга, выберите Analysis Type > ranking.
Список выбора включает t-критерая Стьюдента и таблицы рейтинга Бхаттачарьи.
Чтобы очистить все фильтры, нажмите Reset Filters.
Каждое отфильтрованное представление отображает подмножество доступных выходов. Чтобы отобразить все выбранные значения вместе, нажмите кнопку Sort by Selection.
Элементы, выбранные в отфильтрованных представлениях, отображаются в одной группе в верхней части списка выбора.
Чтобы сгенерировать код для этих элементов, нажмите Generate Function.
Приложение присваивает имя по умолчанию diagnosticFeatures
в функцию. Можно сохранить функцию как файл с таким именем или переименовать функцию и имя файла. Чтобы запустить функцию, следуйте синтаксису в строке функции кода. Например, предположим, что линия функции:
function [featureTable,outputTable] = diagnosticFeatures(inputData)
fullDataTable
и вам нужна только таблица функций features
. Использование:features = diagnosticFeatures(fullDataTable)
Если вы первоначально импортировали отдельные таблицы с помощью Import Single-Member Datasets и хотите проверить код на соответствие исходным данным, необходимо объединить таблицы. Для примера, если вы импортировали таблицы t1
, t2
, и t3
, где каждая таблица представляет отдельный представитель ансамбля, сначала объедините таблицы в одну входную таблицу, а затем запустите сгенерированную функцию.
inputData = {t1,t2,t3}; features = diagnosticFeatures(inputData);
Для примера генерации кода и проверки кода с исходными данными смотрите Сгенерируйте функцию MATLAB в Diagnostic Feature Designer. Для примера, который применяет код к новому набору данных, смотрите Применить сгенерированную функцию MATLAB к расширенному набору данных. Описание самого сгенерированного кода и того, как он выполняет свои расчеты, смотрите в Анатомии кода MATLAB, сгенерированного приложением.
Код, который вы генерируете, частично зависит от выбора в Computation Options. Рисунок ниже показывает варианты Computation Options при импорте ансамбля datastore.
В некоторых случаях можно хотеть, чтобы сгенерированный код использовал опцию, отличную от опции, которую вы использовали для вычисления своих функций в приложении. Например, можно хотеть вызвать параллельные вычисления в коде, когда вы не использовали эту опцию первоначально. Если вы первоначально импортировали данные из ансамбля datastore в локальную память, можно хотеть, чтобы код взаимодействовал непосредственно с внешними файлами.
Зеленый ящик на Computation Options рисунке указывает опции, которые можно изменить непосредственно перед генерацией кода.
Store all results in a local dataset или Write results to the same folder as the original data - можно переключаться между опциями генерации кода. Эти опции появляются только при импорте ансамбля datastore.
Use parallel computing - Вы можете изменить эту опцию для генерации кода. Параллельные вычисления можно использовать только в том случае, если установлены Parallel Computing Toolbox™.
Вы не можете изменить режим обработки данных и политику фрейма, с помощью которых были вычислены определенные функции при генерации кода.