【问题标题】:PCA inputs error Argument with more than 65535PCA 输入错误参数超过 65535
【发布时间】:2016-04-13 06:58:01
【问题描述】:

在 spark.mllib.feature 中使用 PCA 时,我输入数据的 cols 超过 65535,但是 PCA 中定义的 RowMatrix 是

【问题讨论】:

  • @eliasah,错误是线程“main”中的异常 java.lang.IllegalArgumentException: Argument with more than 65535 cols: 84619 at org.apache.spark.mllib.linalg.distributed.RowMatrix.checkNumColumns (RowMatrix.scala:135)
  • 如果提供的答案之一解决了您的问题,请接受它,以便我们关闭此问题!

标签: apache-spark pca apache-spark-mllib


【解决方案1】:

目前,PCA 实现似乎有一个限制,即在内存中拟合 d^2 协方差/grammian 矩阵条目(d 是矩阵的列数/维度)。

目前固定为 65535,因为 PCA 的当前实现没有太大的可扩展性。所以你实际上不能在你的情况下使用 PCA。

参考:source code.

有一个JIRA issue 计划实施一种概率主成分分析算法,该算法应该是可扩展的,但它似乎已被解决为不会修复。

【讨论】:

  • @LiYu 您能否接受答案或解释为什么它对您不起作用以便可以改进?谢谢。
猜你喜欢
  • 2014-04-11
  • 2013-11-09
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 2019-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多