全网最快入门———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')


相关文章
|
3月前
|
机器学习/深度学习 开发者 异构计算
机器学习入门-Colab环境
Google Colab(Colaboratory)是一个免费的云端环境,旨在帮助开发者和研究人员轻松进行机器学习和数据科学工作。它提供了许多优势,使得编写、执行和共享代码变得更加简单和高效。Colab在云端提供了预配置的环境,可以直接开始编写代码,并且提供了免费的GPU和TPU资源,这对于训练深度学习模型等计算密集型任务非常有帮助,可以加速模型训练过程。
89 0
|
28天前
|
机器学习/深度学习 人工智能 运维
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)(二)
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)
59 1
|
28天前
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)(一)
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)
73 1
|
1天前
|
机器学习/深度学习 数据采集 人工智能
使用R语言进行机器学习的初学者指南
【4月更文挑战第25天】本文是R语言机器学习初学者指南,介绍了R语言在统计分析和机器学习中的应用。首先,简述R语言的背景及特点,包括其丰富的统计功能和扩展性。接着,指导如何安装和配置R语言及RStudio,以及设置国内R包安装源。然后,讲解R语言的基础知识,如数据类型、变量、数据结构和控制结构。此外,文中还推荐了几个常用的机器学习库,如caret、gbm、RandomForest和xgboost。最后,通过一个线性回归模型实例,展示了使用R语言进行机器学习的基本流程,包括数据准备、预处理、模型训练、评估和预测。
|
8天前
|
机器学习/深度学习 数据可视化 数据挖掘
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
19 1
|
17天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【4月更文挑战第9天】本文介绍了使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先,简述了机器学习的基本概念和类型。接着,展示了如何安装Python和Scikit-learn,加载与处理数据,选择模型进行训练,以及评估模型性能。通过本文,读者可了解机器学习入门步骤,并借助Python和Scikit-learn开始实践。
|
1月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习】机器学习简单入门
【机器学习】机器学习简单入门
37 1
|
2月前
|
机器学习/深度学习 算法 数据可视化
机器学习——主成分分析(PCA)
机器学习——主成分分析(PCA)
27 0
|
2月前
|
机器学习/深度学习 数据采集 算法
Python中的机器学习入门:从数据预处理到模型评估
Python中的机器学习入门:从数据预处理到模型评估
195 35
|
2月前
|
机器学习/深度学习 数据挖掘 程序员
深入理解Python协程:提升并发编程效率基于Python的机器学习入门:从理论到实践
本文旨在探讨Python协程(Coroutine)的内部机制及其在并发编程中的应用。区别于传统的线程和进程,协程提供了一种更轻量级、高效的并发编程模式。通过深入分析协程的工作原理,本文将展示如何利用协程优化程序性能,实现高效的异步任务处理。我们将通过实例探讨协程的创建、事件循环的管理、以及与异步IO的集成,为读者提供一套完整的协程应用方案。此外,本文还将对比协程与其他并发模型(如多线程和多进程)的优劣,帮助读者全面理解协程在现代编程中的重要性。 在本文中,我们将深入探讨机器学习的核心概念,并通过Python实现其基础应用。不同于传统的技术文章摘要,我们希望通过一个故事性的引入,让读者感受到

热门文章

最新文章