mahout随机林数据描述错误

roejwanj  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(337)

在尝试运行mahout随机林描述符时,我得到以下错误。
p、 s:我正在尝试在不同的集合上运行(不是链接上提供的集合)
使用的描述符是:

hadoop jar /home/ubuntu/binaries/mahout-distribution-0.9/mahout-core-0.9-job.jar org.apache.mahout.classifier.df.tools.Describe -p /user/ubuntu/train_OLwoCV.csv -f  /user/ubuntu/train_OLwoCV.csv.info -d L 3 N 5 C N 2 C N C N

错误是:

Exception in thread "main" org.apache.mahout.classifier.df.data.DescriptorException: Bad Token : 2�C
    at org.apache.mahout.classifier.df.data.DescriptorUtils.parseDescriptor(DescriptorUtils.java:55)
    at org.apache.mahout.classifier.df.data.DataLoader.generateDataset(DataLoader.java:174)
    at org.apache.mahout.classifier.df.tools.Describe.generateDataset(Describe.java:127)
    at org.apache.mahout.classifier.df.tools.Describe.runTool(Describe.java:115)
    at org.apache.mahout.classifier.df.tools.Describe.main(Describe.java:100)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:160)

格雷普帮不了我。是数据有问题还是我对数据的描述有问题?

zpjtge22

zpjtge221#

请再次检查描述符选项('-dl3n5cn2cn')是否适合您的数据,因为如果在csv中的某个列中找不到描述符,则会引发descriptorexception(“坏令牌:”+token)。
mahout v0.7中parsedescriptor()方法的代码:

public static Attribute[] parseDescriptor(CharSequence descriptor) throws DescriptorException {

 List<Attribute> attributes = Lists.newArrayList();
 for (String token : SPACE.split(descriptor)) {
   token = token.toUpperCase(Locale.ENGLISH);
   if ("I".equals(token)) {
     attributes.add(Attribute.IGNORED);
   } else if ("N".equals(token)) {
     attributes.add(Attribute.NUMERICAL);
   } else if ("C".equals(token)) {
     attributes.add(Attribute.CATEGORICAL);
   } else if ("L".equals(token)) {
     attributes.add(Attribute.LABEL);
   } else {
     throw new DescriptorException("Bad Token : " + token);
   }
 }
return attributes.toArray(new Attribute[attributes.size()]);
}

相关问题