我需要在 weka 中制作一个 SVM 来使用 Java 过滤文档
Posted
技术标签:
【中文标题】我需要在 weka 中制作一个 SVM 来使用 Java 过滤文档【英文标题】:I need to make a SVM in weka to filter documents using Java 【发布时间】:2011-07-02 07:48:40 【问题描述】:我是一个绝对的初学者。从未使用 Java 在 weka 中制作分类器或任何东西我以前使用过该接口。基本上我有点迷茫,我查看了 weka 的过滤器类并玩了一下。我的文档是文本文档,我需要将它们分成 2 类。
我不确定如何定义类别或如何将文档加载到要分类的 IDE 中
:-(
任何帮助/教程或指针将不胜感激。
【问题讨论】:
【参考方案1】:我发现这个 java 教程很有帮助,虽然网上可用的资源很少(我发现)
http://www.cs.waikato.ac.nz/ml/weka/index_documentation.html
希望对你有帮助
【讨论】:
【参考方案2】:第一次使用 weka 很痛苦,但你需要经历它。
另外,我尝试了 weka,但由于 JVM 内存不足异常,我不得不转储它。我使用 Ruby 编写了自己的小型集群算法,它的性能要好得多。
无论如何,这里是如何在 WEKA 中使用 SVM:
您可以按照本教程了解如何在 weka 中使用 SVM:www.stat.nctu.edu.tw/~misg/WekaInC.ppt
现在,您将需要 ARFF 格式的数据(根据我的经验,我建议您使用它,它会有所帮助,从 WEKA 的角度来看,数据看起来更有条理)。所以,你可以使用我为自己写的XML2ARFF-Converter 来做到这一点。您可以修改它以读取文本文件并将您的文本文件转换为 ARFF。
【讨论】:
您能否详细说明内存不足异常?我正在调查 weka 是否适合我,这些问题有多严重?你有没有考虑增加堆? weka.wikispaces.com/OutOfMemoryException 我没有探索太多。但是 weka 是一个广泛使用的库,我相信你会得到一些聪明的解决方法。我没有使用它,因为我有理由使用我正在努力学习的 Ruby。 如果您使用的是大型数据集,您通常会遇到内存限制 - 如果您使用 weka 达到这些限制,请尝试使用 -Xmx 标志增加 JVM 堆大小:“java -Xmx8000m -jar weka.jar" 将运行分配了 8000mbs 堆的 weka。以上是关于我需要在 weka 中制作一个 SVM 来使用 Java 过滤文档的主要内容,如果未能解决你的问题,请参考以下文章
使用 weka jar 在 java 代码中加载朴素贝叶斯模型