Кластеризация нечетких C-средних с функцией clValid - PullRequest
0 голосов
/ 19 ноября 2018

Я использую функцию clValid из пакета clValid и проверяю мои нечеткие кластеры с аргументом fanny.

intvalid <- clValid(clust, 2:10, clMethods=c("fanny"),
            validation="internal", metric='euclidean', maxitems = 1000)

Однако я хотел бы проверить достоверность, используя SqEuclidean, поэтому используйте кластеризацию Fuzzy C-Means, а не Fuzzy Clustering. Я знаю, что алгоритм fanny в clValid из кластерного пакета. Я знаю, что единственными тремя вариантами являются евклидова, корреляционная и манхэттенская, поэтому нет способа установить расстояние на SqEuclidean.

Как мне выполнить clValid с кластеризацией Fuzzy C-Means? Или я неправильно интерпретирую аргумент metric функции fanny в clValid?

символьная строка, указывающая метрику, которая будет использоваться для расчета различий между наблюдениями. Варианты «евклидов» (по умолчанию), «Манхэттен» и «SqEuclidean». Евклидовы расстояния - это корень суммы квадратов разностей, а манхэттенские расстояния - сумма абсолютных разностей, а «SqEuclidean», квадрат евклидовых расстояний - сумма квадратов разностей. Использование этого последнего варианта эквивалентно (но несколько медленнее) вычислению так называемых «нечетких C-средних». Если x уже является матрицей различий, этот аргумент будет проигнорирован.

Данные

library(dplyr)
library(cluster)
library(clValid)
df<-iris[,-5] # I do not use iris, but to make reproducible
clust<-sapply(df,scale)
...