exponenta event banner

Приборная панель

В Signal Labeler можно контролировать ход выполнения маркировки и проверять статистику о метках с помощью панели управления. Можно отобразить различные диаграммы, чтобы быстро определить, сколько членов помечено, проанализировать распределения каждой метки и подтвердить, что данные помечены правильно.

В разделе «Выбранное определение» на панели инструментов выберите одно или несколько определений меток для отображения в Definition Selection раскрывающийся список. Появится отдельная вкладка для каждого определения метки, содержащая вкладки для каждого типа диаграммы. Диаграммы на панели мониторинга предоставляют:

  • Процент помеченных членов

  • Распределение значений меток

  • Распределение экземпляров области или точки по членам

  • Распределение значений длительности метки области интереса (ROI)

  • Распределение мест расположения меток точек во времени

По умолчанию на панели инструментов отображается процент помеченных элементов и распределение значений меток выбранного определения метки. Можно выбрать дополнительные диаграммы в галерее Графики (Plots) на основе выбранного типа определения метки (атрибут, ROI или метка точки).

Совет

  • Чтобы закрыть диаграмму, щелкните значок X на ее вкладке.

  • Чтобы закрыть все диаграммы для определения метки, щелкните правой кнопкой мыши имя определения метки на ее вкладке и выберите «Закрыть».

  • Чтобы изменить положение диаграмм, отображаемых для определения метки, щелкните правой кнопкой мыши любую диаграмму или в области вкладки определения метки и выберите Sub-Tile чтобы изменить макет диаграмм на Single, Left/Right, или Top/Bottom.

Просмотр хода создания меток

Чтобы просмотреть ход выполнения маркировки, щелкните Панель мониторинга на панели инструментов. По умолчанию приложение отображает процент участников в наборе данных, имеющих хотя бы одну метку для выбранного определения метки.

Совет

В строке выполнения можно указать количество меток ROI или точек для подсчета элемента. Щелкните на графике и введите новое пороговое значение на панели инструментов.

Dashboard progress bar

Проверка распределения этикеток

Чтобы оценить качество и точность меток в наборе данных, выберите диаграмму распределения в раскрывающемся меню в разделе «Графики» панели инструментов.

Распределение значений меток

Можно проверить различные распределения значений меток для определений атрибутов, окупаемости инвестиций или меток точек.

  • Категориальный, логический или строковый - каждый фрагмент круговой диаграммы представляет количество экземпляров определенного значения метки для выбранного определения метки.

  • Числовой (Numeric) - каждая полоса на графике гистограммы представляет количество экземпляров определенного значения метки для выбранного определения метки.

Распределение времени

Можно проверить различные распределения времени для определений окупаемости инвестиций или меток точек.

  • Категориальная, логическая или строковая - каждая центральная метка в рамочном графике представляет среднюю продолжительность окупаемости инвестиций или расположение точки определенного значения метки для выбранного определения метки. Нижний и верхний края коробки обозначают соответственно 25-й и 75-й процентили.

  • Числовой (Numeric) - каждая полоса на графике гистограммы представляет количество экземпляров длительности окупаемости инвестиций или расположение точки определенного значения метки для выбранного определения метки.

Совет

Для лучшего контроля распределений меток на выбранном графике гистограммы задайте количество ячеек и пределов осей X. Щелкните на графике и настройте параметры в разделе «Распределение меток» на панели инструментов.

Дополнительные сведения о связанных диаграммах распределения см. в разделе boxplot(Набор инструментов для статистики и машинного обучения), histogram, или pie.

Пример: Маркировка сигналов ЭКГ и отслеживание прогресса

В этом примере показано, как отслеживать ход маркировки и оценивать качество меток с помощью панели мониторинга. В этом режиме можно быстро определить, сколько элементов помечено, и проверить распределения значений меток и длительности в наборе данных. Этот шаг облегчает процесс получения полных и точных наборов данных для машинного обучения.

Загрузка и подготовка данных

Используйте QTdownload функция загрузки сигналов электрокардиограммы (ЭКГ) из общедоступной базы данных QT [1] [2] в новый временный каталог folder. Код для этой функции находится в конце примера.

folder = QTdownload;

Каждый файл содержит сигнал ЭКГ ecgSignal, таблица меток областей signalRegionLabelsи переменная частоты выборки Fs. Частота дискретизации всех сигналов составляет 250 Гц. Метки региона соответствуют трем морфологиям сердцебиения:

  • П волна

  • Комплекс QRS

  • Т волна

Создание хранилища данных сигнала, указывающего на folder. Укажите имя переменной сигнала ecgSignal и переменную частоты выборки Fs.

sds = signalDatastore(folder,'SignalVariableNames','ecgSignal','SampleRateVariableName','Fs');

Создайте подмножество хранилища данных, содержащее первые двадцать файлов. Использовать это подмножество в качестве источника для labeledSignalSet объект.

subsds = subset(sds,1:20);
lss = labeledSignalSet(subsds);

Области меток, представляющие интерес

Откройте приложение Signal Labeler и импортируйте набор маркированных сигналов из рабочей области. Постройте график первого сигнала в наборе данных. На вкладке «Отображение» выберите панорамирование и увеличьте масштаб до меньшей области сигнала для лучшей визуализации.

На вкладке Labeler определите категориальную метку области интересов (ROI) с категориями P, QRS и T. Назовите метку BeatMorphologies.

Создание пользовательской функции маркировки labelECGregions для определения местоположения и маркировки трех различных областей, представляющих интерес. Код пользовательской функции появится в примере ниже. Функцию можно сохранить в текущей папке, по пути MATLAB или добавить в приложение, выбрав Add Custom Function в галерее «Автоматизировать значение». Дополнительные сведения см. в разделе Пользовательские функции маркировки.

Выбрать BeatMorphologies в браузере «Определения меток» и выберите labelECGregions из галереи Автоматизировать значение (Automate Value). Выбрать Auto-Label а затем Auto-Label and Inspect Plotted. Щелкните Выполнить (Run). На вкладке «Отображение» увеличьте изображение области маркированного сигнала и используйте панорамирование для навигации по времени. Если маркировка удовлетворительна, щелкните Сохранить метки (Save Labels), чтобы принять метки и закрыть вкладку Автоматическая маркировка (Autolabel). Метки и их значения местоположения можно просмотреть в обозревателе наборов маркированных сигналов.

Визуализация хода выполнения маркировки и статистики

Выберите панель инструментов на панели инструментов вкладки «Маркировщик». Индикатор выполнения показывает, что 5% участников помечены хотя бы одной меткой окупаемости инвестиций. Это соответствует 1/20 элементов в наборе данных. Круговая диаграмма распределения меток показывает количество экземпляров каждой категории для выбранного определения метки.

Закройте панель мониторинга и продолжите маркировку. Выбрать Auto-Label а затем Auto-Label All Signals для маркировки следующих четырех сигналов в списке. Установите флажок рядом с именами сигналов, которые требуется пометить, и нажмите кнопку ОК.

Снова выберите панель мониторинга. Индикатор выполнения теперь показывает, что 25% участников помечены. Убедитесь, что распределение каждой категории (P, QRS или T) соответствует ожидаемому. Label Distribution круговая диаграмма показывает, что каждая категория составляет около трети всех экземпляров метки. Выберите Time Distribution гистограмма из галереи «Графики» для просмотра средней длительности волн P и T и комплексов QRS. Т-волны имеют более длительные длительности, чем P-волны и комплексы QRS.

Щелкните на графике индикатора выполнения и отрегулируйте Threshold в инструментальной полосе для подсчета только элементов по крайней мере с 5000 этикетки. Теперь в подсчет включены только три из пяти помеченных членов. Настройте порог подсчета, чтобы лучше различать маркированные и немаркированные элементы в зависимости от требований к маркировке.

labelECGregions Функция:

labelECGregions функция использует предварительно обученную сеть глубокого обучения для идентификации морфологий пульса P, QRS и T в сигналах ЭКГ.

function [labelVals,labelLocs] = labelECGregions(x,t,parentLabelVal,parentLabelLoc,varargin)

labelVals = cell(2,1);
labelLocs = cell(2,1);

if nargin<5
    Fs = 250;
else
    Fs = varargin{1};
end

% Download the pretrained networks
netURL = 'https://ssd.mathworks.com/supportfiles/SPT/data/QTDatabaseECGSegmentationNetworks.zip'; %#ok<*UNRCH>
modelsFolder = fullfile(tempdir,'QTDatabaseECGSegmentationNetworks');
modelsFile = fullfile(modelsFolder,'trainedNetworks.mat');
zipFile = fullfile(tempdir,'QTDatabaseECGSegmentationNetworks.zip');
    if ~exist(modelsFolder,'dir')
        websave(zipFile,netURL);
        unzip(zipFile,fullfile(tempdir,'QTDatabaseECGSegmentationNetworks'));
    end
load(modelsFile)
    
    for kj = 1:size(x,2)
    
        sig = x(:,kj)';
    
        predTest = classify(rawNet,sig,'MiniBatchSize',50);
        
        msk = signalMask(predTest);
        msk.SpecifySelectedCategories = true;
        msk.SelectedCategories = find(msk.Categories ~= "n/a");
        
        labels = roimask(msk);
        labelVals{kj} = labels.Value;
        labelLocs{kj} = labels.ROILimits/Fs;
    end

labelVals = vertcat(labelVals{:});
labelLocs = cell2mat(labelLocs);

end

QTdownload Функция:

Вы можете загрузить файлы данных из https://www.mathworks.com/supportfiles/SPT/data/QTDatabaseECGData.zip или использовать unzip для создания QTDatabaseECGData папка во временном каталоге с 210 MAT-файлами в нем.

function folder = QTdownload

dataURL = 'https://www.mathworks.com/supportfiles/SPT/data/QTDatabaseECGData1.zip';
datasetFolder = fullfile(tempdir,'QTDataset');
zipFile = fullfile(tempdir,'QTDatabaseECGData.zip');
if ~exist(datasetFolder,'dir')
     websave(zipFile,dataURL);
     unzip(zipFile,tempdir);
end
folder = datasetFolder;

end

Ссылки

[1] Голдбергер, Ари Л., Луис А. Н. Амарал, Леон Гласс, Джеффери М. Хаусдорфф, Пламен Ч. Иванов, Роджер Г. Марк, Джозеф Э. Миет, Джордж Б. Муди, Чон-Кан Пэн и Х. Эугал «PhysioBank, PhysioToolkit и PhysioNet: компоненты нового исследовательского ресурса для сложных физиологических сигналов». Циркуляция. Том 101, № 23, 2000, стр. e215-e220. [Электронные страницы тиража; http://circ.ahajournals.org/content/101/23/e215.full].

[2] Лагуна, Пабло, Роджер Г. Марк, Ари Л. Голдбергер и Джордж Б. Муди. «База данных для оценки алгоритмов измерения QT и других интервалов формы сигнала в ЭКГ». Компьютеры в кардиологии. Vol.24, 1997, стр 673–676.

См. также

Приложения

Объекты

Функции

  • | | (инструментарий для статистики и машинного обучения)

Связанные темы