Мультисигналы 1-D кластеризация
кластеризует данные с помощью иерархической кластеризации. Матрица входа s
= mdwtcluster(x
)x
разложен в направлении строки с помощью дискретного вейвлет-преобразования (DWT) с вейвлетом Haar и максимально допустимым уровнем fix(log2(size(x,2)))
.
Примечание
mdwtcluster
требует Statistics and Machine Learning Toolbox™.
задает опции, использующие аргументы пары "имя-значение" в сложение к входному параметру в предыдущем синтаксисе. Для примера, s
= mdwtcluster(___,Name,Value
)'level',4
задает уровень разложения.
Загрузите 1-D multisignal elecsig10
.
load elecsig10
Вычислите структуру, полученную из мультисигнальной кластеризации.
lst2clu = {'s','ca1','ca3','ca6'}; S = mdwtcluster(signals,'maxclust',4,'lst2clu',lst2clu)
S = struct with fields:
IdxCLU: [70x4 double]
Incons: [69x4 double]
Corr: [0.7920 0.7926 0.7947 0.7631]
Получите индексы кластеров.
IdxCLU = S.IdxCLU;
Постройте график первого и третьего кластеров.
plot(signals(IdxCLU(:,1)==1,:)','r') hold on plot(signals(IdxCLU(:,1)==3,:)','b') hold off title('Cluster 1 (Signal) and Cluster 3 (Coefficients)')
Проверяйте равенство разделов. Подтвердите, что мы получаем те же разбиения, используя коэффициенты приближения на уровне 3 вместо исходных сигналов. Тогда используется гораздо меньше информации.
equalPART = isequal(IdxCLU(:,1),IdxCLU(:,3))
equalPART = logical
1
x
- Входные данныеВходные данные, заданные как матрица.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
s = mdwtcluster(signals,'maxclust',4,'wname','db4')
задает четыре кластера и вейвлет db4
.'dirDec'
- Направление разложения'r'
(по умолчанию) | 'c'
Направление разложения, заданное как 'r'
(строка) или 'c'
(столбец).
'level'
- Уровень разложения DWTfix (log2 (size (x
, d)))
(по умолчанию) | положительное целое числоУровень разложения DWT, заданный как положительное целое число. Значение по умолчанию является fix (log2 (
, где size (x
, d)))d=1
или d=2
, в зависимости от dirDec
значение.
'wname'
- Вейвлет'haar'
(по умолчанию) | символьный вектор | строковый скалярВейвлет, используемый для DWT, задается в виде вектора символов или строкового скаляра. Значением по умолчанию является вейвлет Haar, 'haar'
.
'dwtEXTM'
- режим расширения DWTРежим расширения DWT, заданный как вектор символов или строковый скаляр. Посмотрите dwtmode
.
'pdist'
- Метрика расстояния'euclidean'
(по умолчанию) | вектор символов | строковый скаляр | указатель на функциюМетрика расстояния, заданная как вектор символов, строковый скаляр или указатель на функцию. Значение по умолчанию 'euclidean'
. Посмотрите pdist
(Statistics and Machine Learning Toolbox).
'linkage'
- Алгоритм вычисления расстояния между кластерами'ward'
(по умолчанию) | 'average'
| 'centroid'
| 'complete'
| ...Алгоритм вычисления расстояния между кластерами, заданный как одно из значений в этой таблице.
Метод | Описание |
---|---|
'average' | Невзвешенное среднее расстояние (UPGMA) |
'centroid' | Расстояние центроида (UPGMC), соответствующее только евклидовым расстояниям |
'complete' | Самое дальнее расстояние |
'median' | Взвешенное расстояние по центру масс (WPGMC), соответствующее только евклидовым расстояниям |
'single' | Кратчайшее расстояние |
'ward' | Внутреннее квадратное расстояние (алгоритм минимального отклонения), соответствующее только евклидовым расстояниям |
'weighted' | Средневзвешенное расстояние (WPGMA) |
Посмотрите linkage
(Statistics and Machine Learning Toolbox).
'maxclust'
- Количество кластеровКоличество кластеров, заданное в виде целого числа или вектора.
'lst2clu'
- Массив ячеек, который содержит список данных для классификацииМассив ячеек из символьных векторов или строкового вектора, который содержит список данных для классификации. Если N является уровнем разложения, допустимые значения имен для камер:
's'
- Сигнал
'aj'
- Приближение на уровне j
'dj'
- Детализация на уровне j
'caj'
- Коэффициенты приближения на уровне j
'cdj'
- Коэффициенты детализации на уровне j
с j = 1, …, N
.
Значение по умолчанию {'s';'ca1';...;'caN'}
или ["s" "cal" ... "caN"]
.
s
- Структура outputОбласть структуры output s
является таким, что для каждого раздела j:
S.Idx(:,j) | Содержит номера кластеров, полученные из иерархического дерева кластеров. Посмотрите |
S.Incons(:,j) | Содержит несогласованные значения каждого не-листового узла в иерархическом дереве кластера. Посмотрите |
S.Corr(j) | Содержит кофенетические коэффициенты корреляции разбиения. Посмотрите |
Примечание
Если maxclust
является вектором, тогда IdxCLU
является многомерным массивом, таким что IdxCLU(:,j,k)
содержит номера кластеров, полученные из иерархического дерева кластеров для k кластеров.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.