matlab对iris数据集进行K均值算法代码
时间: 2024-12-09 12:18:19 浏览: 9
在MATLAB中,可以使用`kmeans`函数来进行Iris数据集的K均值聚类分析。首先,你需要加载Iris数据集,通常这个数据集已经包含在MATLAB的统计工具箱里,通过`load`命令导入。下面是基本的步骤:
```matlab
% 加载Iris数据集
load fisheriris
% 提取特征数据(这里我们假设使用前两个花瓣长度和宽度作为变量)
measurements = meas(:, [1 2]); % 如果你的meas数组有其他列,记得调整索引
% 设置K值(例如,如果我们想分成3类,因为有三种鸢尾花)
num_clusters = 3;
% 运行K均值算法
[idx, centroids] = kmeans(measurements, num_clusters);
% idx是一个向量,包含了每个样本属于哪个簇的信息
% centroids是每个簇的质心(中心点)
% 显示结果,比如可视化每个簇的数据点
gscatter(measurements(:, 1), measurements(:, 2), idx, 'rbg', 'o');
hold on;
plot(centroids(:, 1), centroids(:, 2), 'kx', 'MarkerSize', 10, 'LineWidth', 2);
title('K-Means Clustering of Iris Data');
xlabel('Petal Length');
ylabel('Petal Width');
legend({'Cluster 1', 'Cluster 2', 'Cluster 3', 'Centroids'});
hold off;
```
阅读全文