能用matlab写出k-means聚类算法吗
时间: 2023-09-29 16:10:09 浏览: 71
k-means聚类算法用matlab技术
5星 · 资源好评率100%
当然可以!以下是 MATLAB 实现 k-means 聚类算法的示例代码:
```matlab
% 生成一些随机数据
data = rand(100, 2);
% 设置聚类数目
k = 3;
% 初始化聚类中心
centers = data(randperm(size(data, 1), k), :);
% 迭代聚类
for i = 1:100
% 计算每个数据点到聚类中心的距离
distances = pdist2(data, centers);
% 确定每个数据点所属的聚类
[~, labels] = min(distances, [], 2);
% 更新聚类中心
for j = 1:k
centers(j, :) = mean(data(labels == j, :), 1);
end
end
% 可视化聚类结果
scatter(data(:, 1), data(:, 2), 10, labels, 'filled');
```
在此示例中,我们首先生成了一些随机数据,然后设置了聚类数目为 3。接着我们初始化了聚类中心,并进行了 100 次迭代聚类。最后,我们将聚类结果可视化出来。
阅读全文