私はRでテキスト分類タスクを実行しており、サイズ22490×120,000(1%のエントリが400万で、エントリが1%未満)のドキュメント用語行列を取得します。 PCA(Principal Component Analysis)を利用して次元を小さくしたいと考えています。残念ながら、Rはこの巨大な行列を扱うことができないので、私はこの疎な行列を「行列市場形式」のファイルに保存し、PCAを行うためにいくつかの他の手法を使いたいと考えています。非常に大きな疎行列にPCAを適用する
ので、誰でも簡単に、この大規模な行列にPCAを行う可能性がある、私に便利なライブラリ(どんなプログラミング言語)のためのいくつかのヒントを与える、または他の言葉で、自分で手書きPCAを行うことができ、を計算しますまず共分散行列の固有値と固有ベクトルを計算します。。私が欲しいもの
はには、すべてのPC(120,000)を計算し、90%の分散を占めているだけで、トップN PCを、選択しています。明らかに、この場合、私はいくつかの非常に小さな分散値を0(共分散行列内)に設定するために先験的に閾値を与えなければならない。そうでなければ、共分散行列は疎ではなく、そのサイズは120,000×120,000になる。 1台のマシンで処理することは不可能です。また、ローディング(固有ベクトル)は非常に大きく、スパース形式で保存する必要があります。
ありがとうございました!
注:24GBのRAMと8つのCPUコアを搭載したマシンを使用しています。
私はそれが100%正しいのか分かりませんが、私はMatLabがその仕事をすることができると思います。 – Anton
ここに喜んでおられない方は、http://stats.stackexchange.com/ – NPE
@aixにお尋ねください。あなたのアドバイスをありがとう、私はそれを計算科学ベータに移して、ヒント。あなたはこの[URL](http://scicomp.stackexchange.com/questions/2313/apply-pca-on-very-large-sparse-matrix)でそれをフォローすることもできます –