当模型在训练数据上进行测试时,为什么Mahout逻辑回归不能提供良好的AUC?

时间:2015-01-18 15:08:00

标签: mahout

我正在使用Mahout的逻辑回归(版本0.9)但是当我在相同的数据集上检查创建的模型时,我没有看到AUC的高值。我希望它非常高,因为它是相同的数据集。

我的数据集是一个CSV文件,大约有700万行,有18个属性,有些是数字的,有些是分类的。

这就是我为逻辑回归创建模型的方法(我忽略了一些属性):

$ mahout trainlogistic --input train.csv \
--output ./model \
--categories 2 \
--predictors attribute1 ... attribute15 \
--types w w w n n w w w w w w w n n n \
--target is_delayed \
--rate 100 \
--passes 2 \
--features 500000

然后当我使用同一数据集上的模型检查AUC值时:

$ mahout runlogistic --input train.csv --model ./model --auc --confusion
MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpath.
Running on hadoop, using /usr/lib/hadoop/bin/hadoop and HADOOP_CONF_DIR=/etc/hadoop/conf
MAHOUT-JOB: /usr/lib/mahout/mahout-examples-0.9-cdh5.3.0-job.jar
AUC = 0.48
confusion: [[1703477.0, 761921.0], [3034369.0, 1137161.0]]
entropy: [[NaN, NaN], [-16.5, -17.4]]
15/01/18 06:50:50 INFO driver.MahoutDriver: Program took 98213 ms (Minutes: 1.6368833333333332)

我真的很困惑,为什么我只得到 AUC = 0.48 ,而不是值1.00或非常接近的东西,因为它是相同的数据集。

我错过了什么吗?

我只尝试了几个属性,但AUC仍然非常低,约为0.47,这意味着该模型几乎是随机猜测。

0 个答案:

没有答案