abc kmeans算法matlab代码
时间: 2023-07-29 08:01:35 浏览: 52
K均值聚类(K-means Clustering)是一种常用的无监督学习算法,用于将数据集划分为K个不同的簇。
在MATLAB中,可以使用"K-means"函数实现对数据进行聚类。下面是一个简单的K-means聚类的MATLAB代码示例:
```matlab
% 加载数据集
data = load('data.mat');
% 设置聚类的个数
k = 3;
% 运行K-means算法并获取聚类结果
[idx, C] = kmeans(data, k);
% 绘制聚类结果
figure;
hold on;
for i = 1:k
% 获取第i个簇的索引
cluster_idx = find(idx == i);
% 绘制第i个簇的数据点
scatter(data(cluster_idx, 1), data(cluster_idx, 2), 'filled');
end
% 绘制聚类中心
scatter(C(:, 1), C(:, 2), 'r', 'filled', 'MarkerEdgeColor', 'k');
hold off;
% 设置图表标题和坐标轴标题
title('K-means Clustering');
xlabel('Feature 1');
ylabel('Feature 2');
```
上述代码中,首先加载了一个名为data.mat的数据集,然后设置了聚类的个数k为3。然后调用kmeans函数对数据进行聚类,返回了每个数据点所属的簇的索引idx和聚类中心的坐标C。接下来,使用scatter函数绘制了每个簇的数据点,并使用不同的颜色区分了不同的簇,同时绘制了聚类中心。
最后,添加了图表的标题和坐标轴标题。
以上就是一个简单的使用MATLAB实现K-means聚类的代码示例。