调试驯象师逻辑回归

  • 本文关键字:回归 调试 hadoop mahout
  • 更新时间 :
  • 英文 :


我是驯象师的新手。我正在尝试此处列出的标准"甜甜圈"示例:

http://imiloainf.wordpress.com/2011/11/02/mahout-logistic-regression/

所以这个例子就像一个魅力。

但是当我尝试在我的数据集(这是一个巨大的数据集)上实现它时,它不起作用。

数据集在一个csv文件中......一切都是一样的,除了它有很多功能(~100)并且是1TB文件。

我收到此错误。

 bin/mahout trainlogistic  --input /path/mahout_input/complete/input.csv 
--output mahoutmodel --target default --categories 2 --predictors O1 E1 I1 
 --types numeric --features 30 --passes 100 --rate 50
Running on hadoop, using HADOOP_HOME=/opt/mapr/hadoop/hadoop-0.20.2
No HADOOP_CONF_DIR set, using /opt/mapr/hadoop/hadoop-0.20.2/conf
Exception in thread "main" java.lang.NullPointerException
        at org.apache.mahout.classifier.sgd.CsvRecordFactory.firstLine(CsvRecordFactory.java:167)
        at org.apache.mahout.classifier.sgd.TrainLogistic.main(TrainLogistic.java:75)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68)
        at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139)
        at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:187)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:186)

我做错了什么?

你如何调试这个..错误是什么??

谢谢

我的猜测是你的输入不存在或为空。我会检查/path/mahout_input/complete/input.csv真的是你的意思。

检查您的输入路径或确保输入路径的第一行仅在"中具有值,例如"x1","x2","x3","lablel"。等等

也发生在我身上。

我的错误是绕过不正确的 --target 参数,该参数在列中不存在。具体来说,我的标题行是

myColumn1,myColumn2,myColumn3

我的命令行是

Mahout Trainlogistic --input ./input.csv --output ./logistic_model
--目标 myMisTypedColumn1 --预测因子 myColumn2 myColumn3 --type w w w --功能 2 --pass 100 --rate 50 --category 2

另一个提示是:不要使用"(引号)或长列名,所以你应该避免"驯象师不喜欢我的列名吗?"等头痛。

作为对MAHOUT的反馈:错误消息很糟糕。我们永远不应该在这样一个有前途的框架中看到"NullPointerException"。

相关内容

  • 没有找到相关文章

最新更新