主成分分析(PCA)和t-SNE,MDS等算法都是数据科学中使用最多的降维算法,也有使用lasso进行降维。本章使用R语言将pca进行演习,具体理论大家查找相关资料即可。
R语言中使用最多的函数是princomp,位于R自带的stats数据包中,主要参数如下:
x,传入的数据矩阵或者数据框
cor,判断使用相关系数还是协方差矩阵进行计算
scale,是否进行标准化处理
当然还有prcomp函数可选,参数基本一致。
我们使用iris数据集进行演示:
iris<-select(iris,-Species)
iris.pca<-princomp(iris,cor = T)
names(iris.pca)
[1] "sdev" "loadings" "center" "scale" "n.obs" "scores" "call"
sdev是标准偏差
center是每列计算是减去的均值
scores即降维之后的结果,当然也可以使用predict函数,但是结果一样
summary(iris.pca,loadings = T)
Importance of components:
Comp.1 Comp.2 Comp.3 Comp.4
Standard deviation 1.7083611 0.9560494