返回

R语言实践: 解密鸢尾花iris数据集的聚类和降维分析

开发工具

一、k-means聚类

k-means聚类是一种广泛使用的无监督学习算法,它将数据集划分为一组k个簇。k-means聚类的过程如下:

  1. 随机初始化k个簇中心点。
  2. 将每个数据点分配到最近的簇中心点。
  3. 重新计算簇中心点的位置。
  4. 重复步骤2和步骤3,直到簇中心点不再变化。

使用k-means聚类法将数据集聚成2组,并在图1中显示了聚类的情况。从图中可以看到,数据集被分成两组,每一组都包含鸢尾花的一种。

图1 k-means聚类(k=2)的结果

同样使用k-means聚类法将数据集聚成3组,并在图2中显示了聚类的情况。从图中可以看到,数据集被分成三组,每一组都包含鸢尾花的一种。

图2 k-means聚类(k=3)的结果

二、层次聚类

层次聚类是一种自底向上的聚类算法,它将数据点逐个聚合,直到所有数据点都被聚合成一个簇。层次聚类的过程如下:

  1. 将每个数据点作为一个簇。
  2. 合并距离最小的两个簇。
  3. 重复步骤2,直到所有数据点都被聚合成一个簇。

使用全连接法对观测值进行聚类,并在图3中显示了聚类的情况。从图中可以看到,数据集被分成三个簇,每一簇都包含鸢尾花的一种。

图3 层次聚类(全连接法)的结果

使用平均和单连接对观测值进行聚类,并在图4和图5中显示了聚类的情况。从图中可以看到,无论使用哪种方法,数据集都被分成三个簇,每一簇都包含鸢尾花的一种。

图4 层次聚类(平均法)的结果

图5 层次聚类(单连接法)的结果

三、主成分分析(PCA)

主成分分析(PCA)是一种降维算法,它将高维数据投影到低维空间中,同时保持数据的方差。PCA的步骤如下:

  1. 计算数据协方差矩阵。
  2. 计算协方差矩阵的特征值和特征向量。
  3. 选择具有最大特征值的前k个特征向量。
  4. 将数据投影到这些特征向量组成的子空间中。

使用PCA将鸢尾花数据集降维到二维,并在图6中显示了降维后的数据。从图中可以看到,降维后的数据可以清楚地将鸢尾花的三个种类区分开来。

图6 PCA降维后的鸢尾花数据集

四、可视化

为了更好地理解数据,我们对数据进行了可视化。在图1、图2、图3、图4、图5和图6中,我们使用不同的颜色表示鸢尾花的三种种类。此外,我们还使用散点图、热图和条形图来可视化数据。

五、结论

在本文中,我们对鸢尾花iris数据集进行了聚类和降维分析。通过k-means聚类、层次聚类和主成分分析(PCA),我们探索了鸢尾花不同种类之间的相似性和差异性。此外,我们还对数据进行了可视化,以便更好地理解数据。