Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб раб 1 НСУ 2014.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
358.91 Кб
Скачать

2. Провести кластеризацию.

Для каждой подмодели (S1, S2, S3) провести кластеризацию (2 класса).

Для проведения кластеризации воспользуемся возможностями, предоставляемыми пакетом прикладных программ Fuzzy Logic ToolBox, входящим в состав математического пакета Matlab.

кластеризация осуществляется функцией

[CENTER, U, OBJ_FCN] = fcm(DATA, N_CLUSTER)

CENTER – матрица координат центров кластеров,

U – степень принадлежности примера обучающей выборки кластерам,

OBJ_FCN – значения функции качества кластеризации по итерациям.

DATA – исходная выборка данных,

N_CLUSTER – число кластеров, которые должны быть выделены.

Пример:

data = rand(100,2);

% построили выборку случайных данных для 2-х координат на 100 примеров.

[center,U,obj_fcn] = fcm(data,2);

% проведи кластеризацию данных из data на 2 кластера.

plot(data(:,1), data(:,2),'o');

% отображаем данные

hold on;

% фиксируем картинку

maxU = max(U);

% выделяем максимальные значения из U для каждого примера.

% U имеет размерность 2 строки на 100 столбцов.

% Каждый столбец соответствует одному примеру из data.

% составляем список номеров примеров, для которых ближе всего 1-й центр

index1 = find(U(1,:) == maxU);

% составляем список номеров примеров, для которых ближе всего 1-й центр

index2 = find(U(2,:) == maxU);

% выводим на рисунок данные из списка index1, index2 разным цветом.

line(data(index1,1),data(index1,2),'marker','*','color','g');

line(data(index2,1),data(index2,2),'marker','*','color','r');

% рисуем центр кластеров

plot([center([1 2],1)],[center([1 2],2)],'*','color','k')

% остановить вывод на картинку

hold off;

Результаты работу той же программы для 20 примеров приведены на Рис.1.

Рис.1. Кластеризация

data =

0.2219 0.2093

0.7037 0.4551

0.5221 0.0811

0.9329 0.8511

0.7134 0.5620

0.2280 0.3193

0.4496 0.3749

0.1722 0.8678

0.9688 0.3722

0.3557 0.0737

0.0490 0.1998

0.7553 0.0495

0.8948 0.5667

0.2861 0.1219

0.2512 0.5221

0.9327 0.1171

0.1310 0.7699

0.9408 0.3751

0.7019 0.8234

0.8477 0.0466

Данные построены за счет генератора случайных чисел

U =

Columns 1 through 11

0.9596 0.0637 0.6540 0.2056 0.0949 0.9910 0.8253 0.6596 0.0560 0.8375 0.9011

0.0404 0.9363 0.3460 0.7944 0.9051 0.0090 0.1747 0.3404 0.9440 0.1625 0.0989

Columns 12 through 20

0.3479 0.0475 0.9039 0.8902 0.2049 0.7222 0.0437 0.2727 0.2859

0.6521 0.9525 0.0961 0.1098 0.7951 0.2778 0.9563 0.7273 0.7141

center =

0.2853 0.3242

0.8173 0.4423

3. Вычислить расстояние от векторов Mi до центров вычисленных при кластеризации (расстояние по Евклиду).

4. Вывести на экран результаты отнесения примера к кластеру. ВЫЧИСЛИТЬ ОШИБКУ КЛАСТЕРИЗАЦИИ ДЛЯ МОДЕЛЬНОГО ПРОСТРАНСТВА (разделить все имеющиеся примеры в пропорции 2000 - обучение, 1000 - тест).Ошибкой обобщения на тестовой выборке считаем число неверных классификаций к общему числу тестовых примеров.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]