我运行了以下命令:
//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格式。
我在这里做错了什么?
最佳答案
好的,如果您的labelindex文件正确。
此后,该错误未指定缺少的标签。
检查您的推文数据是否已标记。我的猜测是,未标记一条或多条推文。
关于java - Mahout中的IllegalArgumentException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16934634/