Java 为什么LibSVMLoader会在Weka中产生OutOfMemoryError?

Java 为什么LibSVMLoader会在Weka中产生OutOfMemoryError?,java,out-of-memory,weka,libsvm,sparse-file,Java,Out Of Memory,Weka,Libsvm,Sparse File,我正在尝试用weka加载LibSVM格式的数据集。代码如下: LibSVMLoader svmLoader = new LibSVMLoader(); svmLoader.setSource(new File("data_with_libsvm_format")); Instances svmData = svmLoader.getDataSet(); System.out.println(svmData.toSummaryString()); 我得到一个例外: Exception in th

我正在尝试用weka加载LibSVM格式的数据集。代码如下:

LibSVMLoader svmLoader = new LibSVMLoader();
svmLoader.setSource(new File("data_with_libsvm_format"));
Instances svmData = svmLoader.getDataSet();
System.out.println(svmData.toSummaryString());
我得到一个例外:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

我设置了-Xmx4000m,并注意到程序快速消耗了4000m的RAM并抛出异常。Weka是否真的处理libsvm格式,或在处理过程中在内部以密集格式加载和存储数据?

描述输入数据-libsvm可能会消耗内存,这在很大程度上取决于您输入的数据。如果这样,Weka中的LibSVMLoader无法有效处理大型libsvm数据集。你知道为什么吗?我的意思是,在这个过程中,Weka是如何处理libsvm格式的,还是在内部以密集格式加载和存储数据的?我不知道Weka出了什么问题。但我尝试在同一个数据集上使用Python学习和编码。描述输入数据-LibSVM可能会消耗内存,这在很大程度上取决于您输入的数据。如果这样,Weka中的LibSVMLoader无法有效处理大型LibSVM数据集。你知道为什么吗?我的意思是,在这个过程中,Weka是如何处理libsvm格式的,还是在内部以密集格式加载和存储数据的?我不知道Weka出了什么问题。但我尝试在同一个数据集上使用Python学习和编码。这对我来说很顺利。