1)当我运行此随机森林示例时
$MAHOUT_HOME/bin/mahout org.apache.mahout.classifier.df.mapreduce.BuildForest -Dmapred.max.split.size=1874231 -d inputMahoutExamples/RandomForest/rfsplit/trainingSet/* -ds inputMahoutExamples/RandomForest/glass.info -sl 5 -p -t 10 -o inputMahoutExamples/RandomForest/rfmodel
我收到了这个错误
MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpath.
Running on hadoop, using /usr/local/hadoop-2.7.2/bin/hadoop and HADOOP_CONF_DIR=/usr/local/hadoop-2.7.2/etc/hadoop
MAHOUT-JOB: /usr/local/mahout/examples/target/mahout-examples-0.13.0-job.jar
17/08/02 16:55:29 WARN MahoutDriver: Unable to add class: org.apache.mahout.classifier.df.mapreduce.BuildForest
java.lang.ClassNotFoundException: org.apache.mahout.classifier.df.mapreduce.BuildForest
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.mahout.driver.MahoutDriver.addClass(MahoutDriver.java:237)
at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:128)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:6
2)我正在使用Mahout-0.13和hadoop -2.7.2
答案 0 :(得分:0)
$HADOOP_HOME/bin/hadoop jar $MAHOUT_HOME/examples/target/mahout-examples-0.13.0-job.jar org.apache.mahout.classifier.df.mapreduce.BuildForest -d inputMahoutExamples/RandomForest/rfsplit/trainingSet/* -ds inputMahoutExamples/RandomForest/glass.info -sl 5 -p -t 100 -o inputMahoutExamples/RandomForest/rfmodel
我也得到同样的错误
Exception in thread "main" java.lang.ClassNotFoundException: org.apache.mahout.classifier.df.mapreduce.BuildForest
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.hadoop.util.RunJar.run(RunJar.java:214)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
我认为这个问题只与Mahout-0.13有关。 你觉得怎么样?
答案 1 :(得分:0)
我面临着同样的问题。 我认为他们在最后一个版本中没有包含随机森林分类器(不确定)。 它没有在文档中显示。甚至他们的文档网站仍处于测试阶段。 他们提到了两个新的分类器:
org.apache.mahout.classifier.df.mapreduce.inmem
随机决策森林的内存中mapreduce实现
org.apache.mahout.classifier.df.mapreduce.partial
随机决策森林的部分数据mapreduce实施
为了运行该命令,我必须下载并加载版本0.11.0的Mahout。但是,我现在很困惑。为什么我应该使用它并信任输出,而它被开发人员放弃了? 在之前的版本中,他们提到了一些与算法无关的错误,但更多的是管理性能:
目前,培训不支持多个输入文件。输入 数据集必须是一个文件(此支持将随附 即将发布的)。对新数据进行分类确实支持多重 输入文件。树构建在每个mapper.close()方法完成 叫做。因为映射器不刷新它们的状态,所以工作可以 当数据集很大并且您尝试构建大量数据集时失败 树。
虽然有用。
答案 2 :(得分:0)
我也遇到了这个问题。我认为该问题发生在最新版本中,因为Here中的CLI驱动程序分类中未包含随机森林。我已经通过在早期版本的mahout上运行(即mahout 0.9。