Я использую функцию 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)