【问题标题】:Reduce the dimensions of a dataset after applying pca on it in R在 R 中对其应用 pca 后减少数据集的维度
【发布时间】:2013-09-20 09:13:34
【问题描述】:

我的问题是如何使用使用 R 获得的主成分。

一旦你得到主成分,我们如何使用它来减少维度? 我有一个包含 6 个变量的数据集,我需要使用 k-means 对其进行聚类。当我对 6 个变量进行聚类时,K-means 给了我一个散点图。我认为 pca 可以帮助减少维度,因此 k-means 可以产生丰硕的结果。

我这样做是为了得到主要成分:

pca1 <- prcomp(data_set)

请指导我如何进一步降低数据集的维数。

【问题讨论】:

  • 前 2 或 3 个组件将为您提供数据的 2D 或 3D 表示。处理前几个组件以减少尺寸。
  • 您可以使用 SVD 代替 PCA 并获得相同的结果。您可以稍后绘制特征值,

标签: r k-means pca dimensionality-reduction


【解决方案1】:

如果您键入例如 ?prcomp,您可以找到从函数中获得的值 这是我过去使用另一个包所做的:

library("FactoMineR")

pca <- PCA(dataset, scale.unit=TRUE, graph=FALSE)

scores <- data.frame(pca$ind$coord)

library(ggplot2)

ggplot(scores,aes(Dim.1,Dim.2)) + geom_text(label=rownames(scores),colour="red") + geom_hline(yintercept=0) + geom_vline(xintercept=0) + labs(title="Score plot")

你会得到根据 PC1 和 PC2 的分数图,如果你想要负荷图也一样

loadings <- data.frame(pca$var$coord)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-17
    • 2021-12-21
    • 2018-12-03
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-28
    • 2013-09-06
    相关资源
    最近更新 更多