我需要在 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 - 用 Ja​​va 训练多类 SVM 模型

针对 WEKA 中的每个实例提取 SVM 分配的值

如何在 Weka 分类器中使用 svm?

使用 weka jar 在 java 代码中加载朴素贝叶斯模型

如何在 Weka 中构建 SVM 分类器以仅考虑数据集中的某些特征?

Weka、SVM 技术输出