R降维分析:主成分分析(PCA)
掌握PCA原理及在R中的实现,使用prcomp进行降维与可视化。 · 难度:入门 · +15XP
主成分分析简介
PCA是一种无监督降维技术,通过线性变换将原始变量转换为一组新的正交变量(主成分),这些主成分按方差大小排序。通常保留前几个主成分即可解释大部分方差。
1. 数据准备
PCA对变量尺度敏感,建议先标准化(均值为0,标准差为1)。
data(iris)
iris_num <- iris[,1:4]
iris_scaled <- scale(iris_num)2. 执行PCA
pca_result <- prcomp(iris_scaled, center = TRUE, scale. = TRUE)
summary(pca_result) # 查看方差解释比例3. 结果解读
pca_result$rotation是载荷矩阵,pca_result$x是主成分得分。使用screeplot绘制碎石图选择主成分数量。
| 主成分 | 方差解释比例 | 累计比例 |
|---|---|---|
| PC1 | 72.96% | 72.96% |
| PC2 | 22.85% | 95.81% |
4. 可视化
library(ggplot2)
pca_df <- data.frame(pca_result$x, Species=iris$Species)
ggplot(pca_df, aes(x=PC1, y=PC2, color=Species)) + geom_point()练习提示
对USArrests数据集进行PCA,观察前两个主成分能否区分各州。