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