matlab中用Kmeans聚类完成后怎么进行可视化制图
时间: 2024-10-15 16:29:59 浏览: 30
采用K-means聚类,实现多维矩阵的聚类,并进行可视化展示(matlab).rar
5星 · 资源好评率100%
在MATLAB中完成K-means聚类后,你可以通过以下步骤对结果进行可视化:
1. **获取聚类中心**:kmeans函数会返回一个包含簇中心向量的结构,你可以从中获取到每个簇的中心坐标。
2. **确定样本所属的簇**:kmeans函数还会返回一个向量,表示每个样本属于哪个簇。
3. **绘制散点图**:创建一个新的散点图,x轴和y轴可以是你原始数据的特征,然后用不同颜色或形状标识不同的簇。对于二维数据,可以使用`scatter`函数,如`scatter(X(:,1), X(:,2), 'filled', kmeans.labels)`,其中X是你的输入数据,kmeans.labels是样本归属的簇标签。
4. **标记簇中心**:在散点图上画出簇中心,可以用`plot(kmeans.clusterCenters(:,1), kmeans.clusterCenters(:,2), 'o', 'MarkerSize', 15, 'MarkerFaceColor', 'k')`来实现,`clusterCenters`是簇中心的位置。
5. **添加标题和轴标签**:用`title`、`xlabel`和`ylabel`等函数为图表添加描述信息。
6. **显示图形**:最后用`figure`打开新窗口展示你的图像,如果有多张图,也可以用`hold on`命令保持当前图形以便叠加更多内容。
例子代码如下:
```matlab
[cluster_idx, centers] = kmeans(X, num_clusters);
scatter(X(cluster_idx == 1, 1), X(cluster_idx == 1, 2), 'b.', 'MarkerFaceColor', 'b')
hold on
scatter(centers(:, 1), centers(:, 2), 'r*','MarkerSize', 10)
```
其中,`num_clusters`是你要分成的簇的数量。
阅读全文