Mahout中的IllegalArgumentException

时间:2013-06-05 08:06:44

标签: java hadoop mahout

我运行了以下命令:

//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)

我正在关注示例here.

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

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

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