【问题标题】:Reading in high dimensional data into R without use of data frame在不使用数据框的情况下将高维数据读入 R
【发布时间】:2012-01-31 14:35:36
【问题描述】:

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

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

所以问题是:

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

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

提前致谢。

--编辑--

根据其中一个 cmets 的要求提取我的 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}

【问题讨论】:

  • 查看密切相关问题Discrete and Continuous Classifier on Sparse Data的答案
  • @Itamar:我的问题更多是关于如何将稀疏数据读入 R。
  • 请发布您遇到的 ARFF 数据的摘录。我可以解决(1),但如果我确定我没有犯错,回答(2)会更容易。基本上,能够重现问题对于得出一个好的答案非常有帮助。
  • @Iterator:我发布了我的 ARFF 的一小部分摘录。如果需要,我可以使整个(大)arff 文件可用。

标签: r data-mining classification text-mining


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-03-27
    • 2011-03-29
    • 2017-01-16
    • 2020-05-24
    • 2016-11-04
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    • 2013-02-16
    相关资源
    最近更新 更多