在mahout中使用SGD分类器

时间:2012-06-27 07:35:53

标签: mahout

通过遵循mahout中的甜甜圈分类示例,我按如下方式构建了我的模型:

构建模型:

./mahout trainlogistic --input donut.csv --output ./model --target color --categories 2 --predictors x y a b c --types numeric --features 20 --passes 100 --rate 10

我评估这样的模型:

./mahout runlogistic --input donut.csv --model model  --auc --confusion

输出结果为:

AUC = 0.97
confusion: [[27.0, 13.0], [0.0, 0.0]]
entropy: [[-0.4, -0.3], [-1.2, -0.7]]

第一个命令在本地磁盘上生成了一个模型文件。如何使用此模型对新数据进行分类?那是否有命令?或者我是否需要编写Java代码来加载该模型并对其进行分类?

1 个答案:

答案 0 :(得分:2)

./mahout runlogistic --input new_data.csv --model model  --auc --confusion

例如,我从donut.csv获取十个重新编码,并将其重命名为donut2.csv。 然后我按如下方式测试它。

[double@double mahout-distribution-0.7]$ bin/mahout runlogistic --input donut2.csv  --model donut.model --auc --scores --confusion

输出结果为:

"target","model-output","log-likelihood"
0,0.496,-0.685284
0,0.490,-0.674055
0,0.491,-0.675162
1,0.495,-0.703361
1,0.493,-0.706289
0,0.495,-0.683275
0,0.496,-0.685282
0,0.492,-0.677191
1,0.494,-0.704222
1,0.492,-0.708679
AUC = 0.50
confusion: [[6.0, 4.0], [0.0, 0.0]]
entropy: [[-0.7, -0.4], [-0.7, -0.4]]
13/06/04 15:22:50 INFO driver.MahoutDriver: Program took 1402 ms (Minutes: 0.023366666666666668)