无法处理数字类!尽管数据中没有数字类

时间:2016-08-09 06:45:18

标签: java weka naivebayes

这是我的数据。

@Relation tagging

@ATTRIBUTE word STRING
@ATTRIBUTE postag STRING
@ATTRIBUTE ctag STRING
@ATTRIBUTE class STRING

@DATA
routing, NN, I-NP, P
is, VBZ, B-VP, N
a, DT, B-NP, N
crucial, JJ, I-NP, N
product, NN, I-NP, N
., ., O, N

然而我收到错误

  

weka.core.UnsupportedAttributeTypeException:   weka.classifiers.bayes.NaiveBayesMultinomial:无法处理数字   类!

当我尝试构建分类器时

它在谈论哪个数字类?

2 个答案:

答案 0 :(得分:0)

在分类之前,应用无监督属性过滤器" StringToNominal"在最后一个属性上。

顺便说一句,也许" class"不是一个很好的属性名称。

答案 1 :(得分:0)

我使用StringToWordVector Filter来解决这个问题,

StringToWordVector stwv = new StringToWordVector();
stwv.setInputFormat(data);
try {
    fsource = Filter.useFilter(data, stwv);
} catch (Exception e) {
    e.printStackTrace();
}

在我使用

指定哪个属性为类后,将其应用于实例(数据)
data.setClassIndex(data.numAttributes() - 1);

(我更改了最后一个属性的名称) 谢谢,@ knb这是一个很好的建议。