第六章 样本相似性可视化课堂练习

Author

221527101关子桃

1 案例数据

1.1 iris:鸢尾花数据集

  • R语言内置的 iris 数据集(鸢尾花数据集)是统计学和机器学习领域最经典的案例数据集之一,由英国统计学家 Ronald Fisher 在1936年首次提出。它包含了3种鸢尾花的测量数据,每个类别有50个样本,共150行数据。
变量名 数据类型 单位 说明
Sepal.Length numeric cm 花萼(萼片)长度,即花朵最外层绿色叶状结构的长度
Sepal.Width numeric cm 花萼(萼片)宽度
Petal.Length numeric cm 花瓣长度,即花朵内部彩色叶状结构的长度
Petal.Width numeric cm 花瓣宽度
Species factor - 鸢尾花种类(分类标签),包含3个水平:
setosa山鸢尾
versicolor变色鸢尾
virginica维吉尼亚鸢尾
  • setosa 类的花通常较小,花瓣短而宽,与其他两类差异明显;versicolorvirginica 在部分特征上有重叠,分类难度更高。

2 平行坐标图和雷达图

2.1 平行坐标图

  • ggplot(group=id)+geom_line+geom_point 绘图
  • Species 映射为颜色

2.1.1 图形观察和代码编写的心得体会

2.2 显示的数值范围0-2可能是标准化后的结果,或者是某个特定品种/样本的值;原始iris数据集中这些特征的实际范围更大(如Petal.Length通常在1-7cm之间)

2.3 雷达图

  • 采用ggiraphExtra::ggRadar 绘图

2.3.1 图形观察和代码编写的心得体会

#图形特征解读: 雷达图展示了三个品种在四个特征上的”轮廓” 每个轴代表一个花部特征,数值范围0-6 不同颜色的线代表不同品种的特征组合 品种差异观察: setosa:通常在Sepal.Width轴上突出,Petal相关特征较小 versicolor:各特征值中等,图形较为均衡 virginica:Petal相关特征明显较大,图形轮廓最宽广 -

3 星图和脸谱图

3.1 星图

  • 采用stars 函数,对标准化数据绘制圆弧星图

  • 需要先将四个数值变量转化为矩阵,并将Species 作为矩阵的行名;

  • 设置图例在合适位置,能完整显示;将图形分为10行。

3.1.1 图形观察和代码编写的心得体会

变量关系:在观察iris数据集图形时,可以注意到花瓣长度和花瓣宽度通常有较强的正相关关系,而萼片和花瓣特征之间的关系可能因鸢尾花品种不同而有所差异。 类别区分:通过散点图矩阵或成对散点图,可以清晰看到setosa、versicolor和virginica三个品种在这些特征上的分布差异,特别是setosa通常与其他两个品种有较明显区分。 分布特征:箱线图可以展示每个品种在各特征上的分布范围和中位数位置,有助于理解各品种的特性。 -

3.2 脸谱图

  • 采用aplpack::faces 函数,作Species 三个类别的脸谱图
  • 需要先将四个数值变量转化为矩阵,并将Species 作为矩阵的行名;
  • 设置图例在合适位置,能完整显示;将图形分为3列

effect of variables:
 modified item       Var           
 "height of face   " "Sepal.Length"
 "width of face    " "Sepal.Width" 
 "structure of face" "Petal.Length"
 "height of mouth  " "Petal.Width" 
 "width of mouth   " "Sepal.Length"
 "smiling          " "Sepal.Width" 
 "height of eyes   " "Petal.Length"
 "width of eyes    " "Petal.Width" 
 "height of hair   " "Sepal.Length"
 "width of hair   "  "Sepal.Width" 
 "style of hair   "  "Petal.Length"
 "height of nose  "  "Petal.Width" 
 "width of nose   "  "Sepal.Length"
 "width of ear    "  "Sepal.Width" 
 "height of ear   "  "Petal.Length"

3.2.1 图形观察和代码编写的心得体会

3.3 setosa品种最容易与其他两个品种区分;versicolor和virginica在某些特征上有重叠,分类难度较大;花瓣特征(Petal.Length和Petal.Width)通常比萼片特征对分类更有区分力;多变量组合(如Petal.Length + Petal.Width)比单变量分类效果更好

4 聚类图和热图

4.1 系统聚类树状图

  • 采用factoextra::fviz_dend 函数,对标准化后数据作图;
  • 需要先将四个数值变量转化为矩阵,并将Species 作为矩阵的行名;
  • 要求分为3类,观察分类结果和Species 的差异;树状图的外观为圆形。

4.1.1 图形观察和代码编写的心得体会

数值范围特征: 控制台显示了0、10、20三个数值,可能代表某个变量的取值或坐标轴刻度 这种等距间隔表明观察的数据可能具有均匀或线性分布特征 图形类型推测: 提到”图形观察数据分布特征”,结合简单数值输出,可能是直方图、箱线图或散点图 数值间距规则,更可能是坐标轴刻度而非原始数据点 数据规模推断: 从0到20的范围看,可能是中等规模数据集的可视化 若为坐标轴,可能表示某个度量指标的范围 这次简短的观察提醒我:即使是基础的可视化,也能揭示数据的核心特征。在实际分析中,应该:先观察整体分布形态,检查数据的集中趋势和离散程度,注意可能的异常值或特殊模式,根据初步观察选择更深入的分析方法,完整的数据分析应该将图形观察与统计检验相结合,才能得出可靠的结论。

4.2 K-menas聚类主成分图

  • 采用factoextra::fviz_cluster 函数,对标准化后数据作图;

  • 需要先将四个数值变量转化为矩阵,并将1:150 作为矩阵的行名;

  • 要求分为3类,类别轮廓为正态分布,观察哪些观察值比较异常。

4.2.1 图形观察和代码编写的心得体会

降维可视化: 图中显示”Dimi (74%)“和”Dimi (24.8%)“,这很可能是PCA降维后两个主成分的方差解释率 第一主成分解释了74%的方差,第二主成分解释了24.8%,两者合计达到98.8%,说明降维效果很好 聚类分布: 虽然具体图形未展示,但从上下文可以推测是K-means聚类在降维空间的可视化 分成3类的设定与鸢尾花数据集(Setosa, Versicolor, Virginica)的自然分类吻合

4.3 这次实践让我深刻认识到:优秀的分析需要将统计方法与可视化技术有机结合。K-means虽然简单,但配合适当的预处理和可视化,能产生极具洞察力的结果。同时,交互式可视化不仅提升了呈现效果,更成为了分析过程中不可或缺的探索工具。

4.4 热图

  • 采用gplots::heatmap.2 函数,对原始数据绘制热力图

  • 需要先将四个数值变量转化为矩阵,并将Species 作为矩阵的行名;

  • 要求横轴和纵轴均添加聚类树状图

4.4.1 图形观察和代码编写的心得体会

图形观察数据分布特征: 数值部分显示”1 1 1”和”2 4 6”,可能表示某个变量的频数分布或聚类中心 这种分布表明数据存在明显的分组特征 变量信息: 涉及4个特征变量(Sepal.Length、PeialWidth、SepalWidth、Peial.Length) 注意”PeialWidth”和”Peial.Length”可能是”Petal.Width”和”Petal.Length”的拼写错误 分类标签: 包含3种鸢尾花种类(Setosa、Versicolo、Virginica) “Versicolo”应为”Versicolor”的标准拼写 各类别样本数量不等,Setosa出现5次,Versicolo/Versicolor出现6次,Virginica出现3次

通过这次分析,我深刻体会到数据可视化不仅是技术实现,更是数据理解的桥梁。好的图形能直观揭示数据内在结构,而严谨的代码则是可靠分析的基础。在实际工作中,数据质量检查和可视化探索应占分析过程的相当比重。