《R语言与农业数据统计分析及建模》学习——判别分析和主成分分析

server/2024/10/8 13:17:15/

一、判别分析

       判别分析又称“分辨法”。使用已知分类的数据训练建立分类规则,然后把这样的规则应用到未知分类的样本中去分类,以识别位置样本所属的分类

        判别分析多用于遥感影像的地物分类;农林害虫预报;气象数据中的天气预报等等。

1、载入数据集

        使用R语言自带的iris数据集,进行Fisher线性判别。用MASS包调用相关函数。

# 安装并载入所需MASS包
install.packages("MASS")
library(MASS)# 载入iris数据集
data(iris)
head(iris)

2、输入判别公式

        先验概率(prior probability of groups),为不同的类别分配不同的概率估计,用于确定新观测数据属于哪个类别。

        各组均值向量(group means),即该组各维度的数据均值作为该组的均值向量。

        第一、第二线性判别函数系数(Coefficient of linear discriminants)

        两个判别式对区分各总体贡献的大小(proportion of trace)

# 输入公式,Species作为判别项,其他作为自变量
ld<-lda(Species~.,data=iris)
# 查看建立的公式
print(ld)

3、判别分析结果比较

# 对原始数据进行回判分类
p_iris<-predict(ld)
new_class<-p_iris$class
# 查看结果
print(cbind(iris$Species,new_class,p_iris$x))
# 列表比较
table(iris$Species,p_iris$class)

二、主成分分析

        主成分分析的一半目的是变量的降维和主成分的解释。

        主成分分析通过正交变换将一组核能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫做主成分。

        在变换中,保持变量的总方差不变,同时,使第一主成分具有最大方差,第二主成分具有次大方差,依次类推。

1、载入数据集

        数据集采用R语言自带iris数据集。还需要两个包:

        FactoMineR包:包含主成分分析所需的PCA函数。

        factoextra包:进行主成分的可视化

library('FactoMineR')
library('factoextra')
# 载入数据集
data(iris)
# 查看数据
head(iris,3)

2、主成分分析

        使用FactoMineR包中的PCA()函数。

PCA(X,sacle.unit=T,graph=T)

其中,X表示不包含分类变量的主成分分析数据集;

        scale.unit=T代表是分析前对数据进行标准化处理;

        graph=F代表不显示图像。

3、提取特征值

        使用factoextra包中的get_eigenvalue()函数,提取主成分的特征值/方差贡献率。

# 主成分分析
# iris[,-5],为删除了分类变量的iris数据集
iris_pca<-PCA(iris[,-5],scale.unit=T,graph=F)
# 提取特征值
eig_val<-get_eigenvalue(iris_pca)
print(eig_val)

 

4、结果可视化

        碎石图绘制函数:factoextra包中的fviz_eig()函数

        个体在主成分空间的显示:factoextra包中的fviz_pac_ind()函数

# 可视化
# 碎石图
screen_plot<-fviz_eig(iris_pca)
screen_plot
# 个体PCA可视化
ind_plot<-fviz_pca_ind(iris_pca,geom.ind = "point", # 点图col.ind=iris$Species,palette=c("#00AFBB","#E7B800","#FC4E07"), #颜色设置addEllipses = TRUE, # 添加椭圆legend.title="Groups" # 添加标题
)
ind_plot


http://www.ppmy.cn/server/20557.html

相关文章

BIO、NIO与AIO

一 BIO 同步并阻塞(传统阻塞型)&#xff0c;服务器实现模式为一个连接一个线程&#xff0c;即客户端有连接请求时服务器端就需要启动一个线程进行处理. BIO&#xff08;Blocking I/O&#xff0c;阻塞I/O&#xff09;模式是一种网络编程中的I/O处理模式。在BIO模式中&#xf…

【经验分享】MySQL集群部署一:主从模式

目录 前言一、基本介绍1.1、概念1.2、执行流程 二、部署2.1、通用配置2.2、主节点配置2.3、从节点配置2.4、主从测试2.5、谈一谈主节点历史数据同步问题 前言 MySQL的部署模式常见的包括以下几种&#xff1a; 独立服务器部署主从复制部署高可用性集群&#xff08;HA&#xff…

Docker容器部署overleaf

overleaf在线版限制很多&#xff0c;好在开源&#xff0c;准备在本地Docker部署&#xff0c;网上翻了翻&#xff0c;似乎本地部署并非易事&#xff0c;我也尝试了一下&#xff0c;发现直接使用docker-compose拉官方最新镜像部署的确问题很多&#xff0c;不过最终还是完美解决。…

2024年电子商务与大数据经济国际会议 (EBDE 2024)

2024年电子商务与大数据经济国际会议 (EBDE 2024) 2024 International Conference on E-commerce and Big Data Economy 【会议简介】 2024年电子商务与大数据经济国际会议即将在厦门召开。本次会议旨在汇聚全球电子商务与大数据经济领域的专家学者&#xff0c;共同探讨电子商务…

2024.阳光能源追光计划暨大陆考察团交流分享会

近日大陆考察团抵达香港&#xff0c;受到了本司热情接待和安排。公司于4月27日下午举办了阳光能源追光计划主题交流会。 会上公司营销部总监张超&#xff0c;分享了阳光能源近几年的能源发展之路及公司新推出的追光计划&#xff0c;得到了大陆考察交流团团长杨国均先生的高度赞…

Unity类银河恶魔城学习记录15-3 p155 More example on audio effects

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili ​ AudioManager.cs using System.Collections; using System.Collections.…

langchain使用零星记录

目录 前言 一、langchain是什么&#xff1f; 二、使用零星记录 1.llm 2.tool调用 总结 前言 langchain使用过程的一些坑点&#xff0c;做一些记录&#xff0c;便于日后回顾查找&#xff0c;也为同样在学习的小伙伴们异同一些可能的帮助。 期望在学习使用一段时间之后&a…

华为云FunctionGraph构建高可用系统的实践

导语 每年&#xff0c;网上都会报道XXX系统异常不可用&#xff0c;给客户带来巨大的经济损失。云服务的客户基数更大&#xff0c;一旦出现问题&#xff0c;都将给客户和服务自身带来极大影响。本文将基于华为云FunctionGraph自身的实践&#xff0c;详细介绍如何构建高可用的Se…