我想对我的文本数据进行分类。我300 classes
每节课有200份培训文档(所以60000 documents in total
),这很可能导致非常高的维度数据(我们可能正在寻找超过100万个维度)。
我想在管道中执行以下步骤(只是为了让您了解我的要求):
- 将每个文档转换为特征向量(
tf-idf
或vector space model
) Feature selection
(Mutual Information
最好是基于其他标准的)- 训练分类(
SVM
,Naive Bayes
,Logistic Regression
或Random Forest
) - 基于训练的分类器模型预测看不见的数据。
所以问题是,我应该使用哪些工具/框架来处理此类高维数据?我知道通常的可疑对象(R,WEKA ...),但据我所知(可能是错误的),可能没有一个可以处理如此大的数据。我还有其他现成的工具吗?
如果必须并行处理,是否应该使用Apache Mahout?看起来它可能还没有提供我需要的功能。
在此先感谢所有。
更新:我环顾了这个网站,R邮件列表和一般的互联网。在我看来,在我的情况下可能出现以下问题:
(1)使用R(特别是tm软件包)对数据进行预处理可能不切实际,因为这tm
会非常慢。
(2)由于我将需要使用一组R包(预处理,稀疏矩阵,分类器等),因此包之间的互操作性可能会成为问题,并且在将数据从一种格式转换为另一种格式时,可能会产生额外的开销。例如,如果我使用tm
(或外部工具,例如WEKA)进行预处理,则需要找出一种方法来将该数据转换为R中的HPC库可以读取的形式。同样,对我来说还不清楚分类程序包是否将直接获取HPC库提供的数据。
我在正确的轨道上吗?更重要的是,我有道理吗?
foreach
库在R中编写并行代码。这与随机森林固有的并行化特别容易结合使用。