text - weka 中的一元类文本分类?

标签 text machine-learning classification weka svm

我有一个特定类别(例如癌症)的训练数据集(文本)。我想在 weka 中为这个类训练一个 SVM 分类器。但是,当我尝试通过创建文件夹“cancer”并将所有这些训练文件放入该文件夹来做到这一点时,当我运行代码时,我收到以下错误: weka.classifiers.functions.SMO:无法处理一元类!

我想要做的是,如果分类器找到与“癌症”相关的文档,它会正确说出类名,一旦我输入非癌症文档,它应该会说“未知”之类的内容。

我应该怎么做才能得到这种行为?

最佳答案

Weka中的SMO算法仅在两个类之间进行二元分类。顺序最小优化是一种用于求解 SVM 的特定算法,在 Weka 中这是该算法的基本实现。如果你有一些例子是癌症,而另一些例子不是,那么这将是二元的,也许你没有正确地标记它们。

但是,如果您使用的训练数据都是癌症示例,并且您希望它告诉您 future 的示例是否符合该模式,那么您正在尝试进行一类 SVM,又称异常值检测。

LibSVM in Weka可以处理一类支持向量机。与 Weka SMO 实现不同,LibSVM是一个独立的程序,已与 Weka 连接并包含许多不同的 SVM 变体。 This post Wekalist 上解释了如何在 Weka 中使用 LibSVM 来实现此目的。

关于text - weka 中的一元类文本分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10394615/

相关文章:

文本编辑器告诉光标位置的索引

image - 与 OCR 逆向工程作斗争

python - 如何预处理时间序列测试数据以进行分类预测?

machine-learning - 求 Weka 中实例分类的概率

android - 没有创建 View 的 Toast 中的粗体或斜体文本?

iphone - 适用于 iPhone 的朴素贝叶斯分类器?

machine-learning - 将大量分类变量编码为输入数据

c# - 如何解决使用主成分分析引发的 OutOfMemoryException

python - 从 Pandas DataFrame 进行预测

html - Photoshop 文本效果的 CSS