在不使用数据帧的情况下将高维数据读入R中

时间:2012-01-02 03:59:24

标签: r data-mining classification text-mining

我有ARFF格式生成的非常稀疏的高维(40k观察,20k维度)文本数据 WEKA

通过RWekaforeign套餐,R中有2个ARFF阅读器。这些arff阅读器的问题在于它们将arff数据读入数据帧(因此你从稀疏数据转变为非稀疏的存储方式),并且由于我的数据集相当大,所以如果它们都是实用的方式。事实上,当RWeka尝试读取arff文件时,我开始耗尽内存。

所以问题是:

(1)在R下存储和处理数据的合适方法是什么?请注意,我正在阅读带标签的文本数据,因为我想进行文本分类。因此,任何稀疏表示应该(理想情况下)可以被分类器使用。

(2)更重要的是,如何以该格式读取我的arff文件(如问题1)?

提前致谢。

- 编辑 -

根据其中一条评论中的要求提取我的ARFF文件:

@relation train.arff-weka.filters.unsupervised.attribute.StringToWordVector-R1-W100000-prune-rate-1.0-I-N1-L-stemmerweka.core.stemmers.LovinsStemmer-M1-tokenizerweka.core.tokenizers.AlphabeticTokenizer
@attribute myclasses {alpha, beta, gamma, delta}
@attribute aardvark numeric
@attribute abbrevi numeric
@attribute abduc numeric
@data
{102 7.686363,166 6.302574,791 9.204264,1854 1.370962,2830 5.907602}
{1727 14.842519}
{103 0.774816,289 2.874456,413 3.729545,517 4.723478,1286 1.417374,1531 3.23805,1637 4.534334,1708 3.544581,1854 0.961008,1878 3.731564,2105 7.701038,2209 4.83372,2466 5.663894}
{1 1.368628,103 0.582774,225 5.61684,954 5.792294,1082 5.194097,1160 5.792294,1799 4.367975,1854 0.722817,2220 4.114164,2304 2.967602,2456 3.186834,2564 0.701145,2839 6.039582}

1 个答案:

答案 0 :(得分:0)

您如何阅读数据取决于分析使用的数据结构。我会首先寻找可以处理稀疏数据的包(参见Discrete and Continuous Classifier on Sparse Data)。正如对此问题的回复中所提到的,Weka支持稀疏的ARFF数据(请参阅Handling Large Data Sets with Weka上的Pentaho)。