#matlab
#matlab
Вопрос:
Я использую функцию kmeans в matlab для кластеризации моего набора данных. Меня интересует центроид, сгенерированный из функции.
Во время первого запуска генерируются центроиды c1, c2, c3. Во время второго запуска создаются центроиды c2, c1, c3
Для следующего запуска он производит перестановку центроида.
есть ли какой-нибудь способ произвести одну и ту же перестановку для каждого запуска, т.е. c1, c2, c3?
Ответ №1:
Необходимо изменить метод, используемый для выбора начальных положений центроида кластера, иногда называемых начальными значениями. Опция по умолчанию выбирает k наблюдений из X случайным образом. Читать http://www.mathworks.com/help/toolbox/stats/kmeans.html
Комментарии:
1. но как мне убедиться, что он всегда будет выбирать одно и то же начальное значение для каждого запуска?
2. @Arun: вы даете методу аргумент ‘start’ с матрицей, указывающей координаты начальных значений.
3. Спасибо всем. Следующий код делает это. rand(‘seed’,0); [IDX, C] = kmeans(X’,k,’start’, ‘uniform’);