k-means聚类matlab代码
时间: 2024-07-20 22:00:57 浏览: 76
聚类算法:K-means聚类图像分割
5星 · 资源好评率100%
K-means聚类是一种常用的无监督机器学习算法,用于将数据集分成k个簇或类别。在MATLAB中,你可以使用`kmeans`函数来进行K-means聚类。以下是一个简单的示例代码:
```matlab
% 假设我们有一个二维的数据集data
data = randn(100, 2); % 创建100个随机样本,每个样本有两个特征
% 设置簇的数量(k)
k = 3;
% 运行k-means聚类
[idx, centroids] = kmeans(data, k);
% idx表示每个样本所属的簇的索引,centroids是找到的簇中心点
```
在这个例子中,`randn(100, 2)`生成了一个100x2的矩阵,代表100个二维数据点。`kmeans`函数接受两个参数:数据和想要划分成的簇数k。返回值`idx`是一个向量,记录了每个数据点属于哪个簇;`centroids`是簇中心的坐标。
如果你的数据在其他文件或者变量中,记得先加载到`data`这个变量里。
使用K-means后,你可以用`scatter`或`plot`等函数可视化结果,看看数据如何被分配到不同的簇中。
相关问题:
1. K-means的基本原理是什么?
2. 如何选择合适的簇数量k?
3. 如何评估K-means聚类的效果?
阅读全文