在MATLAB中,可以使用kmeans
函數(shù)來實(shí)現(xiàn)k-means算法。以下是使用kmeans
函數(shù)的示例代碼:
% 生成數(shù)據(jù)
data = rand(100, 2);
% 設(shè)置聚類的個(gè)數(shù)
k = 3;
% 使用k-means算法進(jìn)行聚類
[idx, centroids] = kmeans(data, k);
% 繪制聚類結(jié)果
figure;
gscatter(data(:,1), data(:,2), idx);
hold on;
plot(centroids(:,1), centroids(:,2), 'kx', 'MarkerSize', 10, 'LineWidth', 2);
hold off;
在上述代碼中,首先生成了100個(gè)二維隨機(jī)數(shù)據(jù)點(diǎn)。然后使用kmeans
函數(shù)對(duì)數(shù)據(jù)進(jìn)行聚類,指定聚類的個(gè)數(shù)為3。kmeans
函數(shù)返回了每個(gè)數(shù)據(jù)點(diǎn)的聚類索引idx
和聚類中心點(diǎn)centroids
。最后,使用gscatter
函數(shù)將數(shù)據(jù)點(diǎn)按照聚類結(jié)果進(jìn)行繪制,并用黑色的x
標(biāo)記表示聚類中心點(diǎn)。
需要注意的是,kmeans
函數(shù)還有其他可選參數(shù),可以用于設(shè)置初始聚類中心的方式、最大迭代次數(shù)等。你可以參考MATLAB的官方文檔來了解更多關(guān)于kmeans
函數(shù)的使用方法。