用R写段PCA
PCA (Principal Component Analysis)是一种经典的数据降维方法,可以用于数据可视化、特征提取和分类等领域。下面是用R语言实现PCA的代码示例:
首先,我们需要准备一个数据集。这里我们使用鸢尾花数据集(iris),该数据集包含三种不同类型的鸢尾花,每种花有四个特征:花萼长度、花萼宽度、花瓣长度和花瓣宽度。
# 导入iris数据集
data(iris)
# 选取需要用到的四个特征
X <- iris[, 1:4]
# 标准化数据,使每个特征的均值为0,方差为1
X <- scale(X)
接下来,我们使用prcomp函数进行PCA。该函数的参数包括数据矩阵和是否进行中心化和缩放等选项。
# 进行PCA
pca <- prcomp(X, center = TRUE, scale = TRUE)
我们可以通过summary函数查看PCA的结果,包括各个主成分的方差解释比例和主成分载荷矩阵等。
# 查看PCA结果
summary(pca)
最后,我们可以绘制主成分贡献度图和散点图,以便更好地理解数据的特征和分类情况。
# 绘制主成分贡献度图
plot(pca, type = "l")
# 绘制散点图,以前两个主成分为x和y轴
plot(pca$x[, 1], pca$x[, 2], col = iris$Species, pch = 19)
完整的代码如下:
# 导入iris数据集
data(iris)
# 选取需要用到的四个特征
X <- iris[, 1:4]
# 标准化数据,使每个特征的均值为0,方差为1
X <- scale(X)
# 进行PCA
pca <- prcomp(X, center = TRUE, scale = TRUE)
# 查看PCA结果
summary(pca)
# 绘制主成分贡献度图
plot(pca, type = "l")
# 绘制散点图,以前两个主成分为x和y轴
plot(pca$x[, 1], pca$x[, 2], col = iris$Species, pch = 19)
原文地址: https://www.cveoy.top/t/topic/bzg0 著作权归作者所有。请勿转载和采集!