我正在尝试使用以下命令创建文件描述符:
$ MAHOUT_HOME/core/target/mahout-core--job.jar org.apache.mahout.classifier.df.tools.Describe -p testdata/KDDTrain+.arff -f testdata/KDDTrain+.info -d N 3 C 2 N C 4 N C 8 N 2 C 19 N L
来自链接:
https://mahout.apache.org/users/classification/partial-implementation.html在我的数据文件上,但我采取的任何文件都会更改字符串N 3 C 2 N C 4 N C 8 N 2 C 19 N L
的属性数。
我得到以下异常:
Exception in thread "main" java.lang.IllegalArgumentException: Wrong number of attributes in the string
请帮忙!
答案 0 :(得分:3)
有几个原因可能会导致错误......
无论如何所有这些都只是为了你可以创建一个数据描述符。 ATB。
答案 1 :(得分:0)
老问题,但我在遇到同样的问题后发现了一个更敏锐的答案。
在这种特殊情况下,我发现的问题是数据文件的格式(来自http://nsl.cs.unb.ca/NSL-KDD/)似乎已从列出的示例更改在Mahout Random Forest example page。
该示例列出了带有说明符
的行格式 N 3 C 2 N C 4 N C 8 N 2 C 19 N L
但是在行的末尾有一个额外的元素;例如:
13,tcp,telnet,SF,118,2425,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0.00,0.00,0.00,0.00,1.00,0.00,0.00,26,10,0.38,0.12,0.04,0.00,0.00,0.00,0.12,0.30,guess_passwd,2
还有一个字段。将另一个数字字段(N
)添加到说明符的末尾,作为
N 3 C 2 N C 4 N C 8 N 2 C 19 N L N
我很幸运只使用普通.txt
文件格式而不是.arff
文件格式。