k-means聚类分析matlab
时间: 2023-09-15 21:18:00
浏览: 146
在MATLAB中,可以使用`kmeans`函数进行K-means聚类分析。下面是一个简单的示例:
```matlab
% 创建一个包含10个样本,每个样本有两个特征的数据集
X = [randn(5,2)+1;randn(5,2)-1];
% 将数据集分成两个聚类
[idx, C] = kmeans(X, 2);
% 绘制聚类结果
figure;
plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on;
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
plot(C(:,1),C(:,2),'kx','MarkerSize',15,'LineWidth',3)
legend('Cluster 1','Cluster 2','Centroids','Location','NW')
title('K-Means Clustering')
在上述代码中,首先创建了一个包含10个样本,每个样本有两个特征的数据集。然后使用`kmeans`函数将数据集分成两个聚类,并返回每个样本所属的聚类编号和聚类的中心点。最后,使用`plot`函数将聚类结果可视化。
除了上述示例之外,`kmeans`函数还有很多可选参数,可以根据数据集的特点进行调整,以达到更好的聚类效果。例如,可以通过指定`'Distance'`参数来选择不同的距离度量方法;通过指定`'Replicates'`参数来运行多次聚类以避免陷入局部最优解等。
相关问题
k-means聚类分析matlab代码
当然可以!以下是一个简单的 k-means 聚类分析的