matlab中kmeans算法怎么實(shí)現(xiàn)

小億
106
2023-10-18 22:23:58
欄目: 編程語言

在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ù)的使用方法。

0