heap - 增加堆以避免 WEKA 中的内存不足错误

标签 heap weka

我试图在 WEKA 中运行一个分类器,使用 J48 分类器使用以下命令行:

$ java -Xmx2048m -cp /home/weka-3-7-9/weka.jar weka.classifiers.trees.J48 -t input.arff -i -k -d J48-data.model &

虽然我的 arff 大小是 43.8 M,而且我将堆空间增加到 2048m,
我仍然收到以下错误:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at java.util.ArrayList.<init>(ArrayList.java:132)
    at weka.core.Instances.initialize(Instances.java:196)
    at weka.core.Instances.<init>(Instances.java:177)
    at weka.classifiers.trees.j48.ClassifierSplitModel.split(ClassifierSplitModel.java:252)
    at weka.classifiers.trees.j48.ClassifierTree.buildTree(ClassifierTree.java:159)
    at weka.classifiers.trees.j48.C45PruneableClassifierTree.buildClassifier(C45PruneableClassifierTree.java:126)
    at weka.classifiers.trees.J48.buildClassifier(J48.java:249)
    at weka.classifiers.evaluation.Evaluation.evaluateModel(Evaluation.java:1485)
    at weka.classifiers.Evaluation.evaluateModel(Evaluation.java:649)
    at weka.classifiers.AbstractClassifier.runClassifier(AbstractClassifier.java:297)
    at weka.classifiers.trees.J48.main(J48.java:1062)

有人知道我是否做错了什么吗?或者可以给我指出一个不同的解决方案来增加堆?

先感谢您。

最佳答案

Ubuntu 用户的快速说明:可以通过更改行 MEMORY="256m" 来设置堆。在文件中 /usr/bin/weka与您喜欢的编辑器。

关于heap - 增加堆以避免 WEKA 中的内存不足错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19067449/

相关文章:

python - 如何在 O(1) 时间内将列表中的最后一项移到最前面?

java - 在Java Priority Queue 实现remove at 方法中,为什么它在筛选后进行筛选?

java - 在netbeans中修改weka源代码

r - 如何绘制 ROC 曲线以从 Weka 输出的二元类和多类数据进行交叉验证?

save - 将weka结果输出到文本文件

java - Weka Apriori 算法快速 vector 输出内存位置值

java - PriorityQueue addAll() 的复杂度

Java D 堆实现 - deleteMin() 中的无限循环

java - MinHeap 有 2 个字段...removeMin 并删除给定的键

weka - 如何解释 Weka Logistic 回归输出?