В 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 spectra: % Vibration_ps/SpectrumData % % This function computes features: % Vibration_sigstats/Mean % Vibration_tsa_rotmac/RMS % Vibration_tsa_rotmac/CrestFactor % Vibration_ps_spec/PeakAmp1 % Vibration_ps_spec/PeakFreq1 % Vibration_ps_spec/BandPower % % 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.
Можно также отфильтровать на выходе, методе и аналитическом типе. Например, если вы хотите сгенерировать код для занимающей место таблицы, выберите Analysis Type > Ranking.
Список выбора включает t-критерий Стьюдента и таблицы рейтинга Бхаттачарьи.
В дополнение к спискам фильтров можно отфильтровать для текста в именах переменных путем ввода текста в фильтр. Например, если вы вводите peak
в фильтр Output, когда следующие рисунки показывают, отфильтрованный список теперь включает спектральные функции пиковой амплитудной и пиковой частоты. Текст, соответствующий, является нечувствительным к регистру.
Чтобы очистить все фильтры, нажмите Reset Filters.
Каждое отфильтрованное представление отображает подмножество доступных выходных параметров. Чтобы отобразить все ваши выборы вместе, нажмите Sort by Selection.
Элементы, которые вы выбрали в отфильтрованных представлениях, появляются в одной группе наверху списка выбора.
Чтобы сгенерировать код для этих элементов, нажмите Generate Function. Это действие производит функцию с преамбулой, которая включает следующую информацию.
% % This function computes signals: % Vibration_tsa/Data % % This function computes spectra: % Vibration_ps/SpectrumData % % This function computes features: % Vibration_sigstats/Skewness % Vibration_tsa_rotmac/RMS % Vibration_ps_spec/PeakAmp1 % % This function ranks computed feautres using algorithms: % Bhattacharyya %
Даже при том, что Vibration_tsa/Data
не выбран в отсортированном представлении фильтра, функция вычисляет этот сигнал, потому что другие сигналы, которые выбраны, требуют его.
Приложение присваивает имя по умолчанию diagnosticFeatures
к функции. Можно сохранить функцию как файл с этим именем или переименовать функцию и имя файла. Чтобы запустить функцию, следуйте за синтаксисом в функциональной линии кода. Например, предположите, что функциональная линия:
function [featureTable,outputTable] = diagnosticFeatures(inputData)
fullDataTable
и вам нужна только таблица features
функции
Использование:features = diagnosticFeatures(fullDataTable)
Если бы вы первоначально импортировали отдельные таблицы, и хотят подтвердить код против исходных данных, необходимо объединить таблицы. Например, если вы импортировали таблицы t1
t2
, и t3
, где каждая таблица представляет различный член ансамбля, сначала объедините таблицы в одну входную таблицу, и затем запустите сгенерированную функцию.
inputData = {t1,t2,t3}; features = diagnosticFeatures(inputData);
Для примера генерации кода и проверки кода с исходными данными, смотрите, Генерируют функцию MATLAB в Diagnostic Feature Designer. Для примера, который применяет код к новому набору данных, смотрите, Применяют Сгенерированную функцию MATLAB к Расширенному Набору данных. Для описания самого сгенерированного кода и как это выполняет свои расчеты, смотрите Анатомию Сгенерированного Приложением кода MATLAB.
Когда вы разрабатываете свои оценки, у вас есть опции для того, использовать ли параллельные вычисления и, во время процесса импорта, как обработать хранилища данных ансамбля. В некоторых случаях можно хотеть, чтобы сгенерированный код использовал различную опцию, чем опция, вы использовались для расчета своих функций в приложении. Например, вы можете хотеть вызвать параллельные вычисления в коде, когда вы не использовали ту опцию первоначально. Если вы первоначально приняли решение сохранить результаты расчета в локальной памяти, когда вы импортировали datastore ансамбля, вы можете хотеть, чтобы ваш код добавил результаты непосредственно к внешним файлам вместо этого, когда вы запускаете код. Можно установить эти опции для генерации кода во вкладке Code Generation.
В разделе Options следующие опции доступны при следующих условиях:
Append Data to File Ensemble — Доступный, если ваш источник данных является a fileEnsembleDatastore
или a simulationEnsembleDatastore
Use Parallel Computing — Доступный, если у вас есть лицензия на Parallel Computing Toolbox™