kmeans聚类算法matlab代码
时间: 2023-09-10 20:14:20 浏览: 178
kmeans聚类算法 matlab代码实现
以下是kmeans聚类算法的Matlab代码:
```matlab
% 数据准备
data = [1,1;1,2;2,1;2,2;5,5;5,6;6,5;6,6];
% 聚类个数和最大迭代次数
k = 2;
max_iter = 10;
% 初始化聚类中心
center = data(randperm(size(data,1),k),:);
last_center = center;
% 迭代
for iter = 1:max_iter
% 计算每个样本到聚类中心的距离
dist = pdist2(data,center);
% 对每个样本进行聚类
[~,label] = min(dist,[],2);
% 更新聚类中心
for i = 1:k
center(i,:) = mean(data(label==i,:));
end
% 判断聚类中心是否变化
if isequal(center,last_center)
break;
end
last_center = center;
end
% 可视化聚类结果
scatter(data(:,1),data(:,2),[],label);
```
注释部分是对代码的解释。
阅读全文