Задание:
- Задание: классификация эффективности продажи по объему продукции и скоростью розкупання.
- Решить задачу с помощью средств MatLab.
- Найти центры кластеров и построить график изменения значений целевой функции.
Теоретические сведения:
Задача кластеризации заключается в сопоставлении каждому элементу входного множества степени принадлежности к каждому кластеру.
Основные этапы решения задачи кластеризации :
- Найти координаты центров кластеров;
- Построить матрицу степеней принадлежности.
Программа:
1. Необходимо ввести следующую последовательность объема:
X=[1 1; 1 2; 1 3; 1.5 3.5; 2 4; 2 4.5; 2 5; 2.5 6; 2.5 6.5; 3 7; 3 7.3;3 7.5; 3 3
3 4; 3 5; 3 6.5; 3.5 2.5; 3.5 4; 3.5 6; 3.5 7; 4 2; 4 3; 4 7; 4.5 2.5; 4.5 3.5
4.5 5; 5 3; 5 4; 5.5 3.5; 5.5 5.5; 6.5 2.5; 6 3; 7 4; 7.5 3.5; 7.5 7.5; 8 2
8 3; 8 4; 8 5.5; 8.5 6.5; 8.5 4; 8.5 4.5; 9.5 5; 9 1; 9 2.5; 9 6.5; 9 10; 9 6];
[E V U]=fcm(X, 3, [2,100,le-5,1])
subplot(2,1,1);
plot(X(:,1), X(:,2),'ko', 'markersize', 5)
text='Source data';
title(text)
xlim([0 10])
ylim([0 10])
subplot(2,1,2);
plot(V(1,1), V(1,2), 'ro', 'markersize', 10, 'LineWidth', 3)
hold on
plot(V(2,1), V(2,2), 'bo', 'markersize', 10, 'LineWidth', 3)
hold on
plot(V(3,1), V(3,2), 'go', 'markersize', 10, 'LineWidth', 3)
for i=1:48
plot(X(i,1), X(i,2), 'ro', 'markersize', M(1,i)*10+2);
plot(X(i,1), X(i,2), 'bo', 'markersize', M(2,i)*10+2);
plot(X(i,1), X(i,2), 'go', 'markersize', M(3,i)*10+2);
end
xlim([0 10])
ylim([0 10])
text='Clusterisation results';
title(text)
График изменения значений целевой функции:
>>plot(opt)
Входные данные и результат кластеризации
2. Графический вариант решения : вызываю модуль Clustering, загружаю файл данных;