Rを使用してテキスト分類タスクを実行しており、サイズが22490 x 120,000のドキュメント用語マトリックスを取得しています(ゼロ以外のエントリは400万、エントリは1%未満)。ここで、PCA(主成分分析)を利用して次元を減らしたいと思います。残念ながら、Rはこの巨大な行列を処理できないため、他の手法を使用してPCAを実行することを期待して、この疎行列を「行列市場形式」のファイルに保存します。
したがって、この大規模行列を使用してPCAを簡単に実行できる、または自分で長期PCAを実行できる、つまり最初に共分散行列を計算できる、有用なライブラリ(プログラミング言語に関係なく)のヒントを誰かに教えてもらえますか?次に、共分散行列の固有値と固有ベクトルを計算します。
私が欲しいのは、すべてのPC(120,000)を計算し、90%の分散を占める上位N台のPCのみを選択することです。明らかに、この場合、いくつかの非常に小さな分散値を(共分散行列で)0に設定するために、事前にしきい値を指定する必要があります。そうしないと、共分散行列はスパースにならず、そのサイズは120,000x120,000になります。 1台のマシンで処理することは不可能です。また、負荷(固有ベクトル)は非常に大きくなるため、スパース形式で保存する必要があります。
助けてくれてありがとう!
注:24GBのRAMと8つのCPUコアを搭載したマシンを使用しています。