全网最快入门———R语言机器学习实战篇8《主成分分析》

简介: R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

这节课讲主成分分析(PCA)

项目实操——主成分分析

主成分分析和因子分析都是用来探索和简化多变量复杂分析的方法。主成分分析,也简称为PCA,是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关的变量成为主成分,主成分其实是对原始变量重新进行线性组合,将原先众多具有一定相关性的指标,重新组合为一组的新的相互独立的综合指标。

R中内置的printcomp()函数可以进行主成分分析,这里我们使用psych包进行分析

步骤

主成分分析与因子分析的步骤:

数据预处理、选择分析模型、判断要选择的主成分/因子数目、选择主成分/因子、旋转主成分/因子、解释结果、计算主成分或因子得分。

例子

这里我们使用USjudgeratings数据集进行举例分析:

选择需要的主成分数目

选择PCA分析,通过绘制碎石图选择需要的主成分数目:

fa.parallel(USJudgeRatings,fa="pc",n.iter=100)

用principle()函数进行主成分分

接下来使用principle()函数进行主成分分析,nfactors是主成分因子的数目,rotate是旋转角度,scores表示是否要计算主成分得分,默认为不需要:

pc<-principal(USJudgeRatings,nfactors=1,rotate="none",scores=FALSE)

结果

这就是PCA分析的结果,其中,pc1栏是指观测变量与主成分的相关系数,如果nfactors=2或者3,那么还会有pc2、pc3等主成分,h2栏指成分公因子的方差,是主成分对每个变量的方差解释度,u2一栏是成分唯一性,方差不能被主成分解释的比例,proportion var表示每个主成分对数据集的解释程度,这里可以看到第一主成分pc1解释了所有变量84%的方差,我们将score参数设置为true,就可以获得每个变量的得分

继续分析

接下来我们使用Harman23.cor数据集进行分析:

在这个数据集中,数据是由变量的相关系数组成而非原始的数据集,先进行筛选主成分因子,利用平行分析得出碎石图:

fa.parallel(Harman23.cor$cov,n.obs=302,fa="pc",n.iter=100)

只有两个x在y=1之上,所以选择两个主成分因子,接下来进行主成分的分析

下面介绍一下主成分的旋转(这里只展示代码,具体的统计学知识查看统计学书本以及R语言实战p303)

pc<-principal(Harman23.cor$cov,nfactors=2,rotate='Varimax')


相关文章
|
2月前
|
机器学习/深度学习 数据采集 算法
R语言中的机器学习库:caret与mlr的深度解析
【9月更文挑战第2天】Caret和mlr是R语言中两个非常重要的机器学习库,它们在数据预处理、模型构建、调优和评估等方面提供了丰富的功能。Caret以其易用性和集成性著称,适合初学者和快速原型开发;而mlr则以其全面性和可扩展性见长,适合处理复杂的机器学习项目。在实际应用中,用户可以根据具体需求和项目特点选择合适的库进行开发。无论是学术研究、商业智能还是教育场景,这两个库都能为数据科学家和机器学习爱好者提供强大的支持。
|
4月前
|
机器学习/深度学习 人工智能 算法
没想到!AlphaZero式树搜索也能用来增强大语言模型推理与训练
【7月更文挑战第26天】Xidong Feng等研究人员提出了一项创新方法,通过采用AlphaZero式的树搜索算法来增强大语言模型(LLMs)的推理与训练能力。这项技术,称为TS-LLM(Tree-Search for LLMs),将LLMs的解码过程视为搜索问题,并运用AlphaZero的树搜索来指导这一过程。TS-LLM不仅提升了模型的通用性和适应性,还在多个任务中实现了显著的性能提升。此外,它能在训练阶段指导LLMs学习更优的解码策略。尽管如此,TS-LLM依赖于高质量的预训练LLM,并面临较高的计算成本挑战。[论文](https://arxiv.org/abs/2309.17179)
77 5
|
22天前
|
机器学习/深度学习 数据采集 人工智能
R语言是一种强大的编程语言,广泛应用于统计分析、数据可视化、机器学习等领域
R语言是一种广泛应用于统计分析、数据可视化及机器学习的强大编程语言。本文为初学者提供了一份使用R语言进行机器学习的入门指南,涵盖R语言简介、安装配置、基本操作、常用机器学习库介绍及实例演示,帮助读者快速掌握R语言在机器学习领域的应用。
47 3
|
22天前
|
机器学习/深度学习 并行计算 数据挖掘
R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域
【10月更文挑战第21天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
38 2
|
2月前
|
机器学习/深度学习 算法 前端开发
R语言基础机器学习模型:深入探索决策树与随机森林
【9月更文挑战第2天】决策树和随机森林作为R语言中基础且强大的机器学习模型,各有其独特的优势和适用范围。了解并熟练掌握这两种模型,对于数据科学家和机器学习爱好者来说,无疑是一个重要的里程碑。希望本文能够帮助您更好地理解这两种模型,并在实际项目中灵活应用。
|
3月前
|
并行计算 IDE 数据挖掘
R语言入门:如何安装与配置环境
【8月更文挑战第27天】通过本文的指南,你应该能够顺利安装并配置R语言环境,以便进行数据分析和编程任务。R语言以其强大的功能和灵活的扩展性,成为数据分析领域的重要工具。希望本文能够帮助你入门R语言,并激发你进一步学习和探索的兴趣。随着经验的积累,你将能够充分利用R语言的优势,提高工作效率和数据处理能力。
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
使用R语言进行统计分析:入门与实践
【8月更文挑战第10天】通过本文,我们介绍了使用R语言进行统计分析的基本流程,包括数据加载、数据清洗、描述性统计、假设检验以及数据可视化等关键步骤。R语言以其强大的功能和丰富的包资源,为数据分析师和科学家提供了强大的工具。随着你对R语言的
|
4月前
|
算法 API 数据中心
魔搭社区利用 NVIDIA TensorRT-LLM 加速开源大语言模型推理
魔搭社区于 2022 年 11 月初创建,首次在业界提出了 “模型即服务”( MaaS, Model as a Service)的理念。
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
22天前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
40 3

热门文章

最新文章