我正在进行一个关于识别推文中情感的项目。我有一个大约五十万条推文的数据集。我使用的是weka.classifiers.functions.SMO作为机器学习分类器。我总共有10577个特征词,这意味着每条推文的特征向量将有10577个属性,另外还有一个属性用于指定CLASS。
我在Windows环境下工作。我的训练是在16GB的系统上进行的。但我仍然遇到了“outofmemoryerror java heap space”错误。我的训练集大小大约是8MB。我已经尝试增加了weka runconfiguration.ini中的堆大小以及java中的-Xmx选项。有什么方法可以训练大数据集的SMO分类器,或者是否可以增量地训练SMO分类器?
回答:
我在使用Weka时也遇到了类似的问题,我猜标准的JVM无法处理如此巨大的空间需求。可能有其他方法,但当我搜索时,我看到有人推荐使用Oracle JRockit作为JVM。当我安装它后,我的 проблема立刻解决了。或许你可以尝试一下。