溫馨提示×

matlab中k均值聚類算法怎么實(shí)現(xiàn)

小億
106
2023-11-28 21:56:25
欄目: 編程語言

在MATLAB中,可以使用kmeans函數(shù)來實(shí)現(xiàn)k均值聚類算法。以下是一個基本的使用示例:

% 生成隨機(jī)數(shù)據(jù)
data = rand(100, 2);

% 設(shè)置聚類的個數(shù)
k = 3;

% 調(diào)用kmeans函數(shù)進(jìn)行聚類
[idx, centers] = kmeans(data, k);

% 將聚類結(jié)果可視化
scatter(data(:, 1), data(:, 2), [], idx, 'filled');
hold on;
scatter(centers(:, 1), centers(:, 2), 100, 'k', 'filled');

在上述示例中,首先生成了一個包含100個隨機(jī)數(shù)據(jù)點(diǎn)的數(shù)據(jù)集,然后通過kmeans函數(shù)將這些數(shù)據(jù)點(diǎn)劃分成3個簇。kmeans函數(shù)返回一個包含每個數(shù)據(jù)點(diǎn)所屬簇的索引的向量idx,以及每個簇的中心點(diǎn)的坐標(biāo)的矩陣centers。最后,使用scatter函數(shù)將數(shù)據(jù)點(diǎn)和簇中心可視化出來。

需要注意的是,kmeans函數(shù)還有其他可選的參數(shù),例如可以指定初始聚類中心的方法、最大迭代次數(shù)等。詳細(xì)的用法和參數(shù)說明可以參考MATLAB的文檔。

0