EDIT2:我将介绍SVDLIBC,并了解如何将矩阵缩减到其密集版本,这样也可能有所帮助。
我已经生成了一个巨大的csv文件作为我的pos标记和词干的输出。它看起来像这样:
word1, word2, word3, ..., word 150.000
person1 1 2 0 1
person2 0 0 1 0
...
person650
它包含每个人的单词计数。像这样,我得到每个人的特征向量。
我想在这个野兽上运行一个SVD,但似乎矩阵太大而无法保存在内存中以执行操作。我的问题是:
我应该通过删除列总和为例如1的单词来减小列大小,这意味着它们只被使用过一次。这次尝试是否会过度偏向数据?
我尝试了通过将csv加载到db中的rapidminer尝试。然后按照批量处理顺序读取它,就像rapidminer提出的那样。但Mysql无法在表中存储那么多列。如果我转置数据,然后在导入时重新转发它也需要很长时间......
- >所以一般来说,我正在寻求建议如何在这样的语料库上执行一个svd。