我运行了以下命令:
//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格式。
我在这里做错了什么?
答案 0 :(得分:1)
好的,如果你的labelindex文件是正确的。 因为,错误没有指定缺少哪个标签。 检查您的推文数据是否已标记。我猜,一条或多条推文没有被标记。