График контура
silhouette(X,clust)
silhouette(X,clust,Distance)
silhouette(X,clust,Distance,DistParameter)
s = silhouette(___)
[s,h] = silhouette(___)
silhouette(
принимает одно или несколько дополнительных метрических значений параметров расстояния, когда вы задаете X
,clust
,Distance
,DistParameter
)Distance
как пользовательский указатель на функцию расстояния
, который принимает дополнительные значения параметров.@distfun
Создайте графики контура из кластеризованных данных с помощью различных метрик расстояния.
Сгенерируйте данные о случайной выборке.
rng('default') % For reproducibility X = [randn(10,2)+3;randn(10,2)-3];
Создайте график рассеивания данных.
scatter(X(:,1),X(:,2));
title('Randomly Generated Data');
График рассеивания показывает, что данные, кажется, разделены в два кластера равного размера.
Разделите данные в два кластера с помощью kmeans
с Евклидовой метрикой расстояния значения по умолчанию в квадрате.
clust = kmeans(X,2);
clust
содержит кластерные индексы данных.
Создайте график контура из кластеризованных данных с помощью Евклидовой метрики расстояния значения по умолчанию в квадрате.
silhouette(X,clust)
График контура показывает, что данные разделены в два кластера равного размера. Все точки в этих двух кластерах имеют большие значения контура (0.8 или больше), указывая, что кластеры хорошо разделяются.
Создайте график контура из кластеризованных данных с помощью Евклидовой метрики расстояния.
silhouette(X,clust,'Euclidean')
График контура показывает, что данные разделены в два кластера равного размера. Все точки в этих двух кластерах имеют большие значения контура (0.6 или больше), указывая, что кластеры хорошо разделяются.
Вычислите значения контура из кластеризованных данных.
Сгенерируйте данные о случайной выборке.
rng('default') % For reproducibility X = [randn(10,2)+1;randn(10,2)-1];
Кластеризируйте данные в X
на основе суммы абсолютных разностей в расстоянии при помощи kmeans
.
clust = kmeans(X,2,'distance','cityblock');
clust
содержит кластерные индексы данных.
Вычислите значения контура из кластеризованных данных. Задайте метрику расстояния как 'cityblock'
, чтобы указать, что кластеризация kmeans
основана на сумме абсолютных разностей.
s = silhouette(X,clust,'cityblock')
s = 20×1
0.0816
0.5848
0.1906
0.2781
0.3954
0.4050
0.0897
0.5416
0.6203
0.6664
⋮
Найдите значения контура от кластеризованных данных с помощью пользовательской метрики расстояния хи-квадрата. Проверьте, что метрика расстояния хи-квадрата эквивалентна Евклидовой метрике расстояния, но с дополнительным масштабным коэффициентом.
Сгенерируйте данные о случайной выборке.
rng('default'); % For reproducibility X = [randn(10,2)+3;randn(10,2)-3];
Кластеризируйтесь данные в X
с помощью kmeans
со значением по умолчанию придали Евклидовой метрике расстояния квадратную форму.
clust = kmeans(X,2);
Найдите значения контура и создайте график контура из кластеризованных данных с помощью Евклидовой метрики расстояния.
[s,h] = silhouette(X,clust,'Euclidean')
s = 20×1
0.6472
0.7241
0.5682
0.7658
0.7864
0.6397
0.7253
0.7783
0.7054
0.7442
⋮
h = Figure (1) with properties: Number: 1 Name: '' Color: [0.9400 0.9400 0.9400] Position: [360 502 560 420] Units: 'pixels' Show all properties
Расстояние хи-квадрата между J
- размерные точки x и z
где вес, сопоставленный с размерностью j.
Установите веса для каждой размерности и задайте функцию расстояния хи-квадрата. Функция расстояния должна:
Возьмите в качестве входных параметров n-by-p матрицу входных данных X
, одна строка X
(например, x
), и масштабирование (или вес) параметр w
.
Вычислите расстояние от x
до каждой строки X
.
Возвратите вектор длины n. Каждый элемент вектора является расстоянием между наблюдением, соответствующим x
и наблюдениями, соответствующими каждой строке X
.
w = [0.4; 0.6]; % Set arbitrary weights for illustration
chiSqrDist = @(x,Z,w)sqrt((bsxfun(@minus,x,Z).^2)*w);
Найдите значения контура от кластеризованных данных с помощью пользовательской метрики расстояния chiSqrDist
.
s1 = silhouette(X,clust,chiSqrDist,w)
s1 = 20×1
0.6288
0.7239
0.6244
0.7696
0.7957
0.6688
0.7386
0.7865
0.7223
0.7572
⋮
Установите вес для обеих размерностей к 1 использовать chiSqrDist
в качестве Евклидовой метрики расстояния. Найдите значения контура и проверьте, что они совпадают со значениями в s
.
w2 = [1; 1]; s2 = silhouette(X,clust,chiSqrDist,w2); AreValuesEqual = isequal(s2,s)
AreValuesEqual = logical
1
Значения контура являются тем же самым в s
и s2
.
X
Входные данныеВходные данные, заданные как числовая матрица размера n-by-p. Строки соответствуют точкам, и столбцы соответствуют координатам.
Типы данных: single | double
clust
— Кластерное присвоениеКластерное присвоение, заданное как категориальный переменный, числовой вектор, символьная матрица, массив строк или массив ячеек из символьных векторов, содержащий кластерное имя для каждой точки в X
.
silhouette
обрабатывает NaN
s и пустые значения в clust
как отсутствующие значения и игнорирует соответствующие строки X
.
Типы данных: single
| double
| char
| string
| cell
| categorical
Distance
— Метрика расстояния'sqEuclidean'
(значение по умолчанию) | 'Euclidean'
| 'cityblock'
| указатель на функцию | вектор попарных расстояний |...Метрика расстояния, заданная как вектор символов, представляет в виде строки скаляр или указатель на функцию, как описано в этой таблице.
Метрика | Описание |
---|---|
'Euclidean' | Евклидово расстояние |
'sqEuclidean' | Придал Евклидову расстоянию квадратную форму (значение по умолчанию) |
'cityblock' | Сумма абсолютных разностей |
'cosine' | Один минус косинус включенного угла между точками (обработанный как векторы) |
'correlation' | Один минус корреляция выборки между точками (обработанный как последовательности значений) |
'Hamming' | Процент координат, которые отличаются |
'Jaccard' | Процент ненулевых координат, которые отличаются |
Вектор | Числовой вектор - строка из попарных расстояний, в форме создается функцией pdist . X не используется в этом случае и может безопасно быть установлен в [] . |
| Пользовательский указатель на функцию расстояния. Функция расстояния имеет форму function D = distfun(X0,X,
|
Для получения дополнительной информации смотрите Метрики Расстояния.
Пример: 'cosine'
Типы данных: char
| string
| function_handle
| single
| double
DistParameter
— Метрическое значение параметров расстоянияМетрическое значение параметров расстояния, заданное как положительная скалярная величина, числовой вектор или числовая матрица. Этот аргумент допустим только, когда вы задаете пользовательский указатель на функцию расстояния
, который принимает одно или несколько значений параметров в дополнение к входным параметрам @distfun
X0
и X
.
Пример:
silhouette(X,clust,distfun,p1,p2)
, где p1
и p2
являются дополнительными метрическими значениями параметров расстояния для @distfun
Типы данных: single | double
s
Значения контура1
вектор значений в пределах от –1
к 1
Значения контура, возвращенные как n-by-1
вектор значений в пределах от –1
к 1
. Значение контура измеряется, насколько подобный точка к точкам в ее собственном кластере, когда по сравнению с точками в других кластерах. Значения колеблются от –1
до 1
. Высокое значение контура указывает, что точка является хорошо соответствующей к ее собственному кластеру, и плохо соответствующей к другим кластерам.
Типы данных: single | double
h
Изобразите указательУказатель Figure, возвращенный как скаляр. Можно использовать указатель фигуры, чтобы запросить и изменить свойства фигуры. Для получения дополнительной информации смотрите Figure Properties.
Значение контура для каждой точки является мерой того, как подобный, что точка к точкам в ее собственном кластере, когда по сравнению с точками в других кластерах. Значение контура Si
для i
th точка задано как
Si = (bi-ai)/ max(ai,bi)
где ai
является средним расстоянием от i
th, указывают на другие точки в том же кластере как i
, и bi
является минимальным средним расстоянием от i
th, указывают на точки в различном кластере, минимизированном по кластерам.
Диапазоны значений контура от –1
до 1
. Высокое значение контура указывает, что i
является хорошо соответствующим к его собственному кластеру, и плохо соответствующим к другим кластерам. Если большинство точек имеет высокое значение контура, то решение по кластеризации является соответствующим. Если много точек имеют низкое или отрицательное значение контура, то решение по кластеризации может иметь слишком многих или слишком мало кластеров. Можно использовать значения контура в качестве кластеризирующегося критерия оценки с любой метрикой расстояния.
[1] Кауфман Л. и П. Дж. Руссиув. Нахождение групп в данных: введение в кластерный анализ. Хобокен, NJ: John Wiley & Sons, Inc., 1990.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.