R 数据可视化:PCA 主成分分析图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R 数据可视化:PCA 主成分分析图相关的知识,希望对你有一定的参考价值。

参考技术A

再举个形象的栗子,假如你是一本养花工具宣传册的摄影师,你正在拍摄一个水壶。水壶是三维的,但是照片是二维的,为了更全面的把水壶展示给客户,你需要从不同角度拍几张图片。下图是你从四个方向拍的照片:

第一张图里水壶的背面可以看到,但是看不到前面。
第二张图是拍前面,可以看到壶嘴,这张图可以提供了第一张图缺失的信息,但是壶把看不到了。
第三张俯视图既可以看到壶嘴,也可以看到壶把,但是无法看出壶的高度。
第四张图是你打算放进目录的,水壶的高度,顶部,壶嘴和壶把都清晰可见。
PCA的设计理念与此类似,它可以将高维数据集映射到低维空间的同时,尽可能的保留更多变量。

使用 R 语言能做出像 SIMCA-P 一样的 PCA 图吗?
答案是肯定的,使用 R 语言不仅能做出像 SIMCA-P 一样的 PCA 图,还能做出比 SIMCA-P 更好看的图,而且好看的上限仅取决于个人审美风格。

主成分分析图 = 散点图 + 置信椭圆 ,散点的横纵坐标对应 PCA 的第一主成分、第二主成分。

接下来想给散点加上分类颜色:

颜色是加上了,但是椭圆咋变成了 3 个?

原来是 stat_ellipse 函数默认对每个类别的数据计算自己的置信区间。如何对多类样本只计算一个置信区间呢?查看 stat_ellipse 的帮助文档:

原来是 stat_ellipse 函数默认会继承 ggplot 中的 aes 设置,如果希望 stat_ellipse 使用自己的 aes 设置,需要将参数 inherit.aes 设置为 FALSE。

接下来对样式进行微调:为不同类别样本自定义着色,添加 x 轴、y 轴标题,添加 title:

将作图结果和 SIMCA-P 对比,散点、椭圆基本完全一致,只是比它更顺眼一些罢了~

欢迎留言讨论,如果本文有帮助到你,点个赞就更好啦!

[1] Master Machine Learning With scikit-learn

[1] R 数据可视化:水平渐变色柱状图
[2] R 数据可视化:双坐标系柱线图
[3] R 数据可视化:BoxPlot
[4] R 数据可视化:环形柱状图

以上是关于R 数据可视化:PCA 主成分分析图的主要内容,如果未能解决你的问题,请参考以下文章

R语言进行主成分分析(PCA)使用prcomp函数进行主成分分析:碎石图可视化(scree plot)R通过线图(line plot)来可视化主成分分析的碎石图(scree plot)

R语言进行主成分分析(PCA)使用prcomp函数进行主成分分析:碎石图可视化(scree plot)R通过条形图(bar plot)来可视化主成分分析的碎石图(scree plot)

R语言无监督学习:PCA主成分分析可视化

R主成分分析PCA示例

R语言主成分分析(PCA)加“置信椭圆”

PCA主成分分析_R语言实战