Principal component analysis(PCA)

发布于 2024-05-20 10:39:56 字数 1443 浏览 33 评论 0

PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA 通过计算样本之间的协方差构成一个方差矩阵,然后通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。

MLlib supports PCA for tall-and-skinny matrices stored in row-oriented format and any Vectors.

val PATH = "file:///Users/lzz/work/SparkML/"

import org.apache.spark.mllib.linalg.distributed.RowMatrix
import org.apache.spark.mllib.linalg.Vectors

  // Load and parse the data file.
    val rows = sc.textFile(PATH+"data/mllib/sample_lda_data.txt").map { line =>
      val values = line.split(' ').map(_.toDouble)
      Vectors.dense(values)
    }
    val mat = new RowMatrix(rows)

    // Compute principal components.
    val pc = mat.computePrincipalComponents(mat.numCols().toInt)

    println("Principal components are:\n" + pc)
Principal components are:
-0.10254174739276567    0.10636749833471082   ... (11 total)
-0.2701315901153436     -0.21148915503895177  ...
-0.05891637051343293    -0.05162499987903119  ...
0.617048999525624       0.6130842535978166    ...
-0.2520312598305243     0.2514896707404193    ...
-0.27063623897797384    0.08969537535819513   ...
0.16198717252363828     -0.47388476693087916  ...
-0.18451159969012262    0.11657129286233833   ...
0.039932516582478365    -0.19944081051727516  ...
-0.0020016435329844057  -0.22781881654639036  ...
0.577621667541641       -0.4053330068054373   ...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

0 文章
0 评论
24 人气
更多

推荐作者

我们的影子

文章 0 评论 0

素年丶

文章 0 评论 0

南笙

文章 0 评论 0

18215568913

文章 0 评论 0

qq_xk7Ean

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文