2

我运行了以下命令:

//Training the classifier
$ mahout trainnb -i train-vectors -el -li labelindex -o model -ow -c

//Testing the classifer on the TRAINING set
$ mahout testnb -i train-vectors -m model -l labelindex -ow -o tweets-testing -c

//Testing the classifier with the TESTING SET
$ mahout testnb -i test-vectors -m model -l labelindex -ow -o tweets-testing -c

在运行最后一个命令时,这是我得到的错误

Exception in thread "main" java.lang.IllegalArgumentException: Label not found:
    at com.google.common.base.Preconditions.checkArgument(Preconditions.java:88)
    at org.apache.mahout.classifier.ConfusionMatrix.getCount(ConfusionMatrix.java:102)
    at org.apache.mahout.classifier.ConfusionMatrix.incrementCount(ConfusionMatrix.java:122)
    at org.apache.mahout.classifier.ConfusionMatrix.incrementCount(ConfusionMatrix.java:126)
    at org.apache.mahout.classifier.ConfusionMatrix.addInstance(ConfusionMatrix.java:94)

我在这里按照示例进行操作。

我用 seqdumper 检查了 labelindex 文件,并且所有的类/标签都存在。该文件也是 HDFS 格式。

我在这里做错了什么?

4

1 回答 1

1

好的,如果您的 labelindex 文件是正确的。因为,错误没有指定缺少什么标签。检查您的推文数据是否被标记。我猜,一条或多条推文没有被标记。

于 2013-06-05T09:33:23.360 回答