먼저 이미지와 해당 레이블에서 지형지 물을 추출해보십시오. X
은 모든 이미지의 피처 행렬을 나타냅니다. 따라서, 각 행 X
은 각 샘플의 특징 벡터를 나타냅니다.
opts = statset('Display','final');
k = 2;
startPositions = [0.01 0.01 ; -0.01 -0.01];
[idx,ctrs] = kmeans(X,k,...
'Distance','city',...
'Options',opts,...
'Start',startPositions ...
);
plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
plot(ctrs(:,1),ctrs(:,2),'kx',...
'MarkerSize',12,'LineWidth',2)
plot(ctrs(:,1),ctrs(:,2),'ko',...
'MarkerSize',12,'LineWidth',2)
legend('Cluster 1','Cluster 2','Centroids',...
'Location','NW')
위의 코드는 Matlab 설명서에서 가져온 것입니다.
일단 모든 예제와 해당 클러스터가 있으면 일단 거리 메트릭에 따라 클러스터의 중심과 쿼리 특징 벡터를 쉽게 비교하고 가장 가까운 클러스터를 결과로 가져올 수 있습니다.