【问题标题】:Why KNN in rapidminer is giving memory problems?为什么 rapidminer 中的 KNN 会出现内存问题?
【发布时间】:2014-03-14 18:41:59
【问题描述】:

我正在对 20NewsGroup 数据集进行文本分类,每个类别有 100 个文档。我使用 10 倍交叉验证通过朴素贝叶斯对文本文档进行分类,它运行成功并在最后给我结果。

我对 KNN 进行了 10 倍交叉验证,但它总是以“进程失败”结束,这表明它需要的内存比可用的多。我在 build.xml 和 rapidminerGUI.bat 中将 rapidminer 的堆空间从 1GB 增加到 2.5G,但没有任何改进(所以我认为堆空间不是问题),而且最终总是需要更多内存。

请帮帮忙,我坚持不懈,并尝试了我能想到的所有可能选项

平台详情:

操作系统:Windows 7(64 位) 软件版本:Rapidminer 5.3(64 位) Java:Java 1.7(64 位)

【问题讨论】:

  • 你给 KNN 的输入是什么
  • @Ashish 来自目录的文本文档(Preprocessing/ tf-idf applied)以示例集的形式...
  • ok,你已经生成了文档术语矩阵
  • 其实 m 也在做文本分类 m 也卡在了 KNN
  • @Ashish 您可能还想查看我已经看到的这个线程,但我不确定这个问题是否存在于较小的数据集......(rapid-i.com/rapidforum/index.php?action=printpage;topic=1237.0

标签: rapidminer text-classification


【解决方案1】:

传递给 k-nn 运算符的示例集中有多少个属性?

【讨论】:

  • 183257 但我开始知道 rapidminer 使用非常重的格式将示例设置在 ram 中,这是导致我内存不足的原因,所以我决定使用特征选择(IG 的权重) 以减小尺寸。我在“IG 加权”运算符之后收到了权重,但不知道如何将这些加权属性转换为词表(因为我有单独的专用测试集)......!!
  • 使用Select by Weight 运算符并将weight relation 参数设置为top kk 等于您要保留的属性数。
  • 是的,很好,但我希望我的测试集也保持与火车集相同的“k”属性,因此我可能需要将“按重量选择”运算符的输出提供给“处理文档来自我用来加载测试文件集的文件”应该是单词列表,但它给了我输出的权重。我如何将该输出(weights0 转换为单词列表,或者我在理解上犯了任何错误?
  • 如果没有您面前的过程,很难精确,但通常在训练阶段创建的单词列表会在测试阶段传递给process documents 操作员。如果在训练阶段进行了额外的加权,那么这些权重可以在process documents之后的测试阶段使用。在训练阶段可以根据加权操作的结果创建一个单词列表,但它有点高级。
  • 我在stackoverflow上创建了一张关于我的流程快照问题的票,也许它可以更清楚地表明我的意图stackoverflow.com/questions/21853989/…
猜你喜欢
  • 2015-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-02
  • 1970-01-01
  • 1970-01-01
  • 2021-12-03
相关资源
最近更新 更多