使用主成分分析 (PCA) 降低波士顿房价数据集的维度
使用主成分分析 (PCA) 降低波士顿房价数据集的维度
本指南演示了如何使用主成分分析 (PCA) 降低波士顿房价数据集的维度,以进行特征提取和回归建模。
加载数据集并进行主成分分析
library(MASS)
data(Boston)
# 提取前13个变量
X <- Boston[,1:13]
# 主成分分析
pca <- princomp(X)
# 特征值和特征向量
pca$scores # 主成分得分
pca$loadings # 载荷
pca$sdev # 标准差
pca$variance # 方差
pca$cov # 协方差矩阵
# 碎石图
plot(pca)
选择前两个主成分
# 选择前2个主成分
pca2 <- pca
pca2$loadings <- pca2$loadings[,1:2]
pca2$scores <- pca2$scores[,1:2]
pca2$sdev <- pca2$sdev[1:2]
pca2$variance <- pca2$variance[1:2]
pca2$cov <- pca2$cov[,1:2][1:2,]
# 载荷图
biplot(pca2)
# 给主成分命名
names(pca2$loadings)[1] <- 'Crime'
names(pca2$loadings)[2] <- 'Residence'
# 主成分得分图
plot(pca2$scores)
综合评估和排序
# 综合评估和排序
rank <- order(pca2$scores[,1])
ranked_data <- Boston[rank,]
主成分回归模型
# 提取目标变量
y <- Boston$MEDV
# 主成分回归模型
fit <- lm(MEDV ~ Crime + Residence, data = Boston)
summary(fit)
# 回归方程
# MEDV = 26.84 - 0.33 * Crime - 0.2 * Residence
# 最小二乘估计结果
fit2 <- lm(y ~ CRIM + ZN + INDUS + CHAS + NOX + RM + AGE + DIS + RAD + TAX + PTRATIO + B + LSTAT, data = Boston)
summary(fit2)
结论
通过主成分分析,我们成功地将波士顿房价数据集的维度降低至两个主成分,并根据这些主成分建立了回归模型。这为我们提供了更深入的见解,并简化了模型构建过程。
原文地址: https://www.cveoy.top/t/topic/oq27 著作权归作者所有。请勿转载和采集!