前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >R语言无监督学习:PCA主成分分析可视化

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

原创
作者头像
拓端
修改于 2020-08-24 02:06:17
修改于 2020-08-24 02:06:17
1.2K00
代码可运行
举报
文章被收录于专栏:拓端tecdat拓端tecdat
运行总次数:0
代码可运行

原文链接:http://tecdat.cn/?p=9839


总览

在监督学习中,我们通常可以访问n个  观测值的p个  特征  集  ,并 在相同观测值上测得的  Y。

无监督学习是一组没有相关的变量  Y的方法。在这里,我们重点介绍两种技术…

  • 主成分分析:用于数据可视化或在其他监督学习方法之前进行预处理的工具。
  • 聚类:发现数据中未知组的方法。

无监督学习的挑战

通常,无监督学习比主观学习更具挑战性,因为它更具主观性。分析没有简单的目标,例如预测响应。无监督学习通常用作  探索性数据分析的一部分。此外,由于没有普遍接受的交叉验证或验证方法,因此很难评估获得的结果的准确性。简而言之 ,除了简单的直觉或手头上的过程的理论知识外,我们无法真正  在无人监督的情况下检查工作。但是,无监督方法有许多用途:

  • 通过识别患者亚组来了解癌症行为。
  • 网站(尤其是电子商务)通常会根据您之前的活动尝试向您推荐产品。
  • Netflix电影推荐。

主成分分析

当出现大量相关变量时,主要成分使我们能够将集合概括为较少数量的代表变量,这些变量  共同解释了原始集合中的大多数可变性。

主成分分析(PCA)是指计算主成分的过程,以及随后在理解数据中使用这些成分的过程。PCA还可以用作数据可视化的工具。

什么是主要成分

假设我们希望通过 对一组p个  特征的测量值来可视化  n个观测值,以  用于探索性数据分析的一部分。具体来说,我们希望找到一种数据的低维表示形式,该表示形式可以捕获尽可能多的信息。PCA提供了一种执行此操作的方法。PCA会寻求少量尽可能有趣的维度,其中有趣的概念  通过观察值在整个维度上的变化量来度量。

我们还可以通过利用主要组件来衡量丢失了多少信息。为此,我们可以计算 每个主成分解释的方差的  比例(PVE)。通常最好将其解释为累积图,以便我们可以可视化每个成分的PVE和所解释的总方差。一

确定要使用的主成分数

总的来说,我们希望使用最少数量的主成分来充分理解数据。可以说,做到这一点的最好方法是在scree图中可视化数据  ,我们将在后面演示。它只是累积PVE的图。与我们选择其他学习技术的最佳调整参数的方式类似,查看百分比变化何时下降,这样,添加主要成分并不会真正增加大量的方差。我们可以结合一些对数据的理解来使用这种技术。

大多数统计方法都可以适应于使用主成分作为预测变量,这有时会导致噪声较小。

可视化

我们执行PCA 。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
states <- rownames(USArrests)states
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
##  [1] "Alabama"        "Alaska"         "Arizona"        "Arkansas"      ##  [5] "California"     "Colorado"       "Connecticut"    "Delaware"      ##  [9] "Florida"        "Georgia"        "Hawaii"         "Idaho"         ## [13] "Illinois"       "Indiana"        "Iowa"           "Kansas"        ## [17] "Kentucky"       "Louisiana"      "Maine"          "Maryland"      ## [21] "Massachusetts"  "Michigan"       "Minnesota"      "Mississippi"   ## [25] "Missouri"       "Montana"        "Nebraska"       "Nevada"        ## [29] "New Hampshire"  "New Jersey"     "New Mexico"     "New York"      ## [33] "North Carolina" "North Dakota"   "Ohio"           "Oklahoma"      ## [37] "Oregon"         "Pennsylvania"   "Rhode Island"   "South Carolina"## [41] "South Dakota"   "Tennessee"      "Texas"          "Utah"          ## [45] "Vermont"        "Virginia"       "Washington"     "West Virginia" ## [49] "Wisconsin"      "Wyoming"

数据集的列包含四个变量。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
names(USArrests)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
## [1] "Murder"   "Assault"  "UrbanPop" "Rape"

让我们来探讨一下数据。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kable(summary(USArrests))

我们可以看到数据具有不同的均值和方差。此外,这些变量是在完全不同的尺度上测量的。例如  UrbanPop ,以百分比为单位,每10万个人测量次数。如果我们不对数据进行标准化,那就麻烦了。

执行PCA  提供主成分载荷。

我们已经可以确定每个主成分所代表的内容。例如,第一个部分似乎解释了与犯罪有关的信息与城市人口之间的差异。这也是第一个组成部分,从直观上来说,这是最大的差异。第二部分肯定解释了城市环境的影响,第三和第四部分显示了其他犯罪的区别。

我们可以绘制第一个主成分的图。

Biplot

在这里我们可以看到很多信息。首先查看轴,轴上的PC1 x 和轴上的  PC2  y。箭头显示了它们如何在两个维度上移动。黑色状态显示每个状态在PC方向上如何变化。例如,加利福尼亚州既有高犯罪率,又是城市人口最多的国家之一。

该  $sdev 属性输出每个组件的标准偏差。每个分量解释的方差可以通过对这些平方进行平方来计算:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
## [1] 2.4802 0.9898 0.3566 0.1734

然后,为了计算每个主成分解释的方差比例,我们先将其除以总方差。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
## [1] 0.62006 0.24744 0.08914 0.04336

在这里,我们看到第一PC解释了大约62%的数据,第二PC解释了大约24%的数据。我们还可以绘制此信息。

碎石图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
par(mfrow=c(1,2))plot(pve, xlab='Principal Component',      ylab='Proportion of Variance Explained',      ylim=c(0,1),      type='b')plot(cumsum(pve), xlab='Principal Component',      ylab='Cumuative Proportion of Variance Explained',      ylim=c(0,1),      type='b')

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
原创|一文读懂主成分分析(PCA)
主成分分析,即Principle Component Analysis (PCA),是一种传统的统计学方法,被机器学习领域引入后,通常被认为是一种特殊的非监督学习算法,其可以对复杂或多变量的数据做预处理,以减少次要变量,便于进一步使用精简后的主要变量进行数学建模和统计学模型的训练,所以PCA又被称为主变量分析。
数据派THU
2020/06/01
2.7K0
原创|一文读懂主成分分析(PCA)
春节充电系列:李宏毅机器学习笔记13之无监督学习:主成分分析(PCA)
【导读】我们在上一节的内容中已经为大家介绍了台大李宏毅老师的机器学习课程的半监督学习,这一节将主要针对讨论无监督学习:主成分分析(PCA)。本文内容涉及机器学习中无监督学习的若干主要问题:k-means,HAC,dimension reduction以及PCA。话不多说,让我们一起学习这些内容吧 春节充电系列:李宏毅2017机器学习课程学习笔记01之简介 春节充电系列:李宏毅2017机器学习课程学习笔记02之Regression 春节充电系列:李宏毅2017机器学习课程学习笔记03之梯度下降 春节充电系列:
WZEARW
2018/04/13
1.3K0
春节充电系列:李宏毅机器学习笔记13之无监督学习:主成分分析(PCA)
无监督学习 – Unsupervised learning | UL
无监督学习是一种机器学习的训练方式,它本质上是一个统计手段,在没有标签的数据里可以发现潜在的一些结构的一种训练方式。
easyAI
2019/12/18
3.5K0
无监督学习 – Unsupervised learning | UL
通俗易懂的讲解奇异值分解(SVD)和主成分分析(PCA)
奇异值分解(The Singular Value Decomposition,SVD)
deephub
2020/06/17
2.6K0
【机器学习-无监督学习】降维与主成分分析
  在上一篇文章聚类中,我们介绍了无监督学习的重要问题之一:聚类问题,并主要讲解了k均值算法。结尾处我们提到,在解决复杂聚类问题时,第一步通常不会直接使用k均值算法,而是会先用其他手段提取数据的有用特征。对于高维复杂数据来说,其不同维度代表的特征可能存在关联,还有可能存在无意义的噪声干扰。因此,无论后续任务是有监督学习还是无监督学习,我们都希望能先从中提取出具有代表性、能最大限度保留数据本身信息的几个特征,从而降低数据维度,简化之后的分析和计算。这一过程通常称为数据降维(dimensionality reduction),同样是无监督学习中的重要问题。本文就来介绍数据降维中最经典的算法——主成分分析(principal component analysis,PCA)。
Francek Chen
2025/01/22
2190
【机器学习-无监督学习】降维与主成分分析
主成分分析(PCA)
主成分分析(Principal components analysis,简称PCA)是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。一般我们提到降维最容易想到的算法就是PCA。
AngelNH
2020/07/15
7320
主成分分析(PCA)
【机器学习】无监督学习:PCA和聚类
在这节课中,我们将讨论主成分分析(PCA)和聚类(clustering)这样的无监督学习方法。你将学习为何以及如何降低原始数据的维度,还有分组类似数据点的主要方法。
zenRRan
2019/11/19
2.4K0
ICA简介:独立成分分析
您是否曾经遇到过这样一种情况:您试图分析一个复杂且高度相关的数据集,却对信息量感到不知所措?这就是独立成分分析 (ICA) 的用武之地。ICA 是数据分析领域的一项强大技术,可让您分离和识别多元数据集中的底层独立来源。
数据科学工厂
2023/02/28
1.1K0
ICA简介:独立成分分析
R语言中的主成分方法:PCA分析和可视化实用指南
主成分分析(PCA)允许我们总结和可视化包含多个相互关联的定量变量描述的个体/观察的数据集中的信息。每个变量都可以被视为不同的维度。如果你的数据集中有3个以上的变量,那么可视化多维超空间可能会非常困难。
简说基因
2025/03/13
5921
R语言中的主成分方法:PCA分析和可视化实用指南
主成分分析(PCA)在R 及 Python中的实战指南
大数据文摘作品,转载要求见文末 编译团队|李小帅,姚佳灵 有太多不如没有!如果一个数据集有太多变量,会怎么样?这里有些可能的情况你也许会碰上—— 1.你发现大部分变量是相关的。2.你失去耐心,决定在整个数据集上建模。这个模型返回很差的精度,于是你的感觉很糟糕。3.你变得优柔寡断,不知道该做什么。4.你开始思考一些策略方法来找出几个重要变量。 相信我,处理这样的情形不是像听上去那样难。统计技术,比如,因子分析,主成分分析有助于解决这样的困难。在本文中,我详细地解释了主成分分析的概念。我一直保持说明简要而详实。
大数据文摘
2018/05/22
3K0
机器学习重要算法-PCA主成分分析
大家好,很高兴可以和大家一起来继续学习机器学习,这几天时间,我着重研究了下主成分分析法,不过因为其数学推理实在有些过于繁琐和复杂,我也没太搞得太清楚,如果在文章当中出现了什么错误,也请各位多多指教.
云时之间
2018/04/11
2.4K0
机器学习重要算法-PCA主成分分析
聊聊基于Alink库的主成分分析(PCA)
主成分分析(Principal Component Analysis,PCA)是一种常用的数据降维和特征提取技术,用于将高维数据转换为低维的特征空间。其目标是通过线性变换将原始特征转化为一组新的互相无关的变量,这些新变量称为主成分,它们按照方差递减的顺序排列,以保留尽可能多的原始数据信息。 主成分分析的基本思想可以总结如下:
Ryan_OVO
2023/10/19
2550
【视频】主成分分析PCA降维方法和R语言分析葡萄酒可视化实例|数据分享
降维技术之一是主成分分析 (PCA) 算法,该算法将可能相关变量的一组观察值转换为一组线性不相关变量。在本文中,我们将讨论如何通过使用 R编程语言使用主成分分析来减少数据维度分析葡萄酒数据。
拓端
2022/06/08
1.1K0
【视频】主成分分析PCA降维方法和R语言分析葡萄酒可视化实例|数据分享
R语言主成分分析
在医学研究中,为了客观、全面地分析问题,常要记录多个观察指标并考虑众多的影响因素,这样的数据虽然可以提供丰富的信息,但同时也使得数据的分析工作更趋复杂化。
医学和生信笔记
2023/02/14
6130
R语言主成分分析
R语言k-means聚类、层次聚类、主成分(PCA)降维及可视化分析鸢尾花iris数据集|附代码数据
最近我们被客户要求撰写关于鸢尾花iris数据集的研究报告,包括一些图形和统计输出。
拓端
2023/02/24
1.9K0
R语言主成分分析(PCA)葡萄酒可视化:主成分得分散点图和载荷图
数据包含177个样本和13个变量的数据框;vintages包含类标签。这些数据是对生长在意大利同一地区但来自三个不同栽培品种的葡萄酒进行化学分析的结果:内比奥罗、巴贝拉和格里格诺葡萄。来自内比奥罗葡萄的葡萄酒被称为巴罗洛。
拓端
2022/06/08
2.8K0
R语言主成分分析(PCA)葡萄酒可视化:主成分得分散点图和载荷图
R语言PCA分析_r语言可视化代码
如果不对数据进行scale处理,本身数值大的基因对主成分的贡献会大。如果关注的是变量的相对大小对样品分类的贡献,则应SCALE,以防数值高的变量导入的大方差引入的偏见。但是定标(scale)可能会有一些负面效果,因为定标后变量之间的权重就是变得相同。如果我们的变量中有噪音的话,我们就在无形中把噪音和信息的权重变得相同,但PCA本身无法区分信号和噪音。在这样的情形下,我们就不必做定标。
全栈程序员站长
2022/11/07
2.9K0
R语言PCA分析_r语言可视化代码
【视频】主成分分析PCA降维方法和R语言分析葡萄酒可视化实例|数据分享|附代码数据
最近我们被客户要求撰写关于主成分分析PCA的研究报告,包括一些图形和统计输出。 降维技术之一是主成分分析 (PCA) 算法,该算法将可能相关变量的一组观察值转换为一组线性不相关变量。在本文中,我们将讨论如何通过使用 R编程语言使用主成分分析来减少数据维度分析葡萄酒数据
拓端
2022/12/23
1.3K0
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
各位读者好,在这片文章中我们尝试使用sklearn库比较k-means聚类算法和主成分分析(PCA)在图像压缩上的实现和结果。压缩图像的效果通过占用的减少比例以及和原始图像的差异大小来评估。图像压缩的目的是在保持与原始图像的相似性的同时,使图像占用的空间尽可能地减小,这由图像的差异百分比表示。图像压缩需要几个Python库,如下所示:
deephub
2020/05/09
3.2K0
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
R语言主成分分析可视化(颜值高,很详细)
网络上很多R语言教程都是基于R语言实战进行修改,今天为大家介绍更好用的R包,在之前聚类分析中也经常用到:factoextra和factoMineR,关于主成分分析的可视化,大家比较常见的可能是ggbiplot,这几个R包都挺不错,大家可以比较下。
医学和生信笔记
2023/02/14
1.2K0
R语言主成分分析可视化(颜值高,很详细)
推荐阅读
相关推荐
原创|一文读懂主成分分析(PCA)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验