Найдите кластерные центры с помощью отнимающей кластеризации
centers = subclust(data,clusterInfluenceRange)
centers = subclust(data,clusterInfluenceRange,Name,Value)
[centers,sigma]
= subclust(___)
входные данные кластеров с помощью отнимающей кластеризации с заданной кластерной областью значений влияния, и возвращают вычисленные кластерные центры. Отнимающий алгоритм кластеризации оценивает количество кластеров во входных данных.centers
= subclust(data
,clusterInfluenceRange
)
данные о кластерах с помощью опций алгоритма заданы одним или несколькими аргументами пары centers
= subclust(data
,clusterInfluenceRange
,Name,Value
)Name,Value
.
Чтобы сгенерировать нечеткую систему вывода с помощью отнимающей кластеризации, используйте команду genfis
. Например, предположите, что вы кластеризируете свои данные с помощью следующего синтаксиса:
C = subclust(data,clusterInfluenceRange,'DataScale',dataScale,'Options',options);
где первые столбцы M
data
соответствуют входным переменным, и остальные столбцы соответствуют выходным переменным.
Можно сгенерировать нечеткую систему с помощью тех же данных тренировки и отнимающей настройки кластеризации. Сделать так:
Сконфигурируйте кластеризирующиеся опции.
opt = genfisOptions('SubtractiveClustering');
opt.ClusterInfluenceRange = clusterInfluenceRange;
opt.DataScale = dataScale;
opt.SquashFactor = options(1);
opt.AcceptRatio = options(2);
opt.RejectRatio = options(3);
opt.Verbose = options(4);
Извлеките данные о переменной ввода и вывода.
inputData = data(:,1:M); outputData = data(:,M+1:end);
Сгенерируйте структуру FIS.
fis = genfis(inputData,outputData,opt);
Нечеткая система, fis
, содержит одно нечеткое правило для каждого кластера, и каждая переменная ввода и вывода имеет одну функцию принадлежности на кластер. Можно сгенерировать только Sugeno нечеткие системы с помощью отнимающей кластеризации. Для получения дополнительной информации смотрите genfis
и genfisOptions
.
Отнимающая кластеризация принимает, что каждая точка данных является потенциальным кластерным центром. Алгоритм делает следующее:
Вычислите вероятность, что каждая точка данных задала бы кластерный центр, на основе плотности окружения точек данных.
Выберите точку данных с самым высоким потенциалом, чтобы быть первым кластерным центром.
Удалите все точки данных около первого кластерного центра. Близость определяется с помощью clusterInfluenceRange
.
Выберите остающуюся точку с самым высоким потенциалом как следующий кластерный центр.
Повторите шаги 3 и 4, пока все данные не будут в области значений влияния кластерного центра.
Отнимающий метод кластеризации является расширением горного метода кластеризации, предложенного в [2].
[1] Чю, S., "Нечеткая образцовая идентификация на основе кластерной оценки", журнал Intelligent & Fuzzy Systems, издания 2, № 3, сентябрь 1994.
[2] Yager, R. и Д. Филев, "Генерация Нечетких Правил Горной Кластеризацией", Журнал Intelligent & Fuzzy Systems, Издания 2, № 3, стр 209-219, 1994.