2

編集:私はワードリストのサイズが私が書き留めたよりも10-20倍大きいです。ゼロを忘れただけです。

EDIT2:SVDLIBCを調べて、マトリックスを高密度バージョンに縮小する方法も見ていきます。これも役立つかもしれません。

品詞タグ付けとステミングからの出力として巨大なcsvファイルを生成しました。次のようになります。

        word1, word2, word3, ..., word 150.000
person1   1      2      0            1
person2   0      0      1            0
...
person650

これには、各人の単語数が含まれています。このように、私は一人一人の特徴的なベクトルを取得しています。

この獣でSVDを実行したいのですが、マトリックスが大きすぎてメモリに保持できず、操作を実行できないようです。私の質問は:

  • たとえば、列の合計が1である単語を削除して、列のサイズを小さくする必要があります。これは、それらが1回だけ使用されたことを意味します。この試みでデータにバイアスをかけすぎていませんか?

  • csvをdbにロードして、rapidminerの試行を試みました。そして、rapidminerが提案するように、処理のためにバッチで順次読み取ります。しかし、Mysqlはその数の列をテーブルに格納できません。データを転置してから、インポート時に再転置すると、時間がかかります。

->ですから、一般的に、私はそのようなコーパスでsvdを実行する方法についてアドバイスを求めています。

4

2 に答える 2

1

これは大きな密行列です。ただし、これは小さなスパース マトリックスにすぎません。

疎行列 SVD アルゴリズムを使用するだけで十分です。例えばここ

于 2010-05-15T01:07:40.630 に答える
-1

SVD は、メモリ サイズによって制限されます。見る:

折りたたみ: 部分的な行列の更新に関する論文。

Apache Mahoutは、並列 SVD を持つ Hadoop 上で実行される分散データ マイニング ライブラリです。

于 2010-05-15T01:15:04.710 に答える