mahout 0.9 hadoop 1.2.1 新手上路 请多指教;
需要运行 /examples/bin/factorize-movielens-1M.sh 即 ALS 推荐算法,数据集从movielens官网上下载 根据脚本文件,首先需要 将ratings.csv文件 放置在hdfs 文件系统中(/tmp/mahout-work-{$USER}),不然mahout 会找不到输入路径,这点在脚本文件里看不到,如果放在本地文件系统中,该脚本始终运行不成功;
接下来 按照脚本文件 顺序执行, 但是 速度之慢 令人发指(由于之前在 spark scala执行过 同样的算法);
第1步是 分割数据集为 训练集和测试集 ,比较快;
第2步是 运行 分布式的ALS算法,根据脚本文件总共iteration 10 次,总共耗时28分钟(19:00 ~19:28),输出结果在指定的hdfs 路径中
第3步是 根据 测试集 计算 RMSE值,本次实验值为1.9233056087885207
第4步是 计算推荐结果 ,总耗时 (Minutes: 33.89475) 结果分别存储在 /tmp/mahout-work-crystal/recommendations/part-m-00000 part-m-00001 part-m-00002 文件中。部分推荐结果展示如下。1 [21594:5.0,176346:5.0,27082:5.0,76134:5.0,21262:5.0,126310:5.0]
2 [11111:5.0,151858:5.0,187261:5.0,154758:5.0,132710:5.0,193670:5.0]
3 [150162:5.0,125323:5.0,78600:5.0,189325:5.0,138854:5.0,106806:5.0]
4 [214252:5.0,182906:5.0,134862:5.0,57552:5.0,57610:5.0,17673:5.0]
5 [69574:5.0,22014:5.0,22302:5.0,115892:5.0,117109:5.0,201437:5.0]
6 [216281:5.0,18095:5.0,99810:5.0,201194:5.0,118216:5.0,202405:5.0]
7 [82039:5.0,69574:5.0,77150:5.0,216493:5.0,85303:5.0,26756:5.0]
8 [9091:5.0,63326:5.0,49299:5.0,97888:5.0,81740:5.0,214349:5.0]
9 [14640:5.0,33901:5.0,118654:5.0,80297:5.0,16061:5.0,113005:5.0]
10 [36730:5.0,167973:5.0,17908:5.0,163526:5.0,192192:5.0,25297:5.0]
11 [111334:5.0,120355:5.0,48520:5.0,80740:5.0,191782:5.0,182794:5.0]
12 [41426:5.0,103975:5.0,146438:5.0,78255:5.0,4508:5.0,134427:5.0]
14 [163822:5.0,79466:5.0,17673:5.0,56068:5.0,90542:5.0,4094:5.0]
13 [13334:5.0,49540:5.0,128646:5.0,207650:5.0,10598:5.0,108255:5.0]
15 [167273:5.0,85015:5.0,192817:5.0,9597:5.0,103171:5.0,2415:5.0]
16 [35302:5.0,112253:5.0,9091:5.0,76807:5.0,14310:5.0,49299:5.0]
17 [134862:5.0,63532:5.0,176943:5.0,163526:5.0,135958:5.0,216717:5.0]
18 [144686:5.0,18330:5.0,33758:5.0,70359:5.0,60828:5.0,64721:5.0]
20 [191265:5.0,80756:5.0,149302:5.0,169835:5.0,48754:5.0,76186:5.0]
19 [103522:5.0,173735:5.0,63396:5.0,20917:5.0,70894:5.0,179231:5.0]
输出 结果 路径 展示: