Mahout - ParallelALSFactorizationJob 运行 太长了?
Mahout - ParallelALSFactorizationJob running too long?
我正在尝试 运行 AWS EMR 集群上的 Mahout ALS 推荐,但是,它花费的时间比我预期的要长得多。
下面是我的命令 运行:
aws add-steps --cluster-id <cluster_id> \
--steps Type=CUSTOM_JAR,\
Name="Mahout ALS Factorization Job",\
Jar=s3://<my_bucket>/recproto/mahout-mr-0.10.0-job.jar,\
MainClass=org.apache.mahout.cf.taste.hadoop.als.ParallelALSFactorizationJob,\
Args=["--input","s3://<my_bucket>/recproto/trainingdata/userClicks.csv.gz",\
"--output","s3://<my_bucket>/recproto/als-output/",\
"--implicitFeedback","true",\
"--lambda","150",\
"--alpha","0.05",\
"--numFeatures","100",\
"--numIterations","3",\
"--numThreadsPerSolver","4",\
"--usesLongIDs","true"]
在 userClicks.csv 文件中,1,567,808 个评分 来自 335,636 个用户 和 23,934 个项目.
作业 运行 在 10-c3.xlarge 个节点 EMR 集群 上,并且作业已经 运行 超过2小时。我想知道这正常吗?就我的评级文件而言,我应该使用哪种规模的 EMR 集群和参数,以便获得更可接受的 运行ning 时间?
我通过简单地使用 Spark ALS 解决了这个问题。训练过程花费不到 2 分钟 在我的笔记本电脑上 在具有相同参数的相同数据集上。
我现在可以理解为什么某些机器学习算法由于性能问题而被弃用了......(例如,Minhash 算法)
我正在尝试 运行 AWS EMR 集群上的 Mahout ALS 推荐,但是,它花费的时间比我预期的要长得多。
下面是我的命令 运行:
aws add-steps --cluster-id <cluster_id> \
--steps Type=CUSTOM_JAR,\
Name="Mahout ALS Factorization Job",\
Jar=s3://<my_bucket>/recproto/mahout-mr-0.10.0-job.jar,\
MainClass=org.apache.mahout.cf.taste.hadoop.als.ParallelALSFactorizationJob,\
Args=["--input","s3://<my_bucket>/recproto/trainingdata/userClicks.csv.gz",\
"--output","s3://<my_bucket>/recproto/als-output/",\
"--implicitFeedback","true",\
"--lambda","150",\
"--alpha","0.05",\
"--numFeatures","100",\
"--numIterations","3",\
"--numThreadsPerSolver","4",\
"--usesLongIDs","true"]
在 userClicks.csv 文件中,1,567,808 个评分 来自 335,636 个用户 和 23,934 个项目.
作业 运行 在 10-c3.xlarge 个节点 EMR 集群 上,并且作业已经 运行 超过2小时。我想知道这正常吗?就我的评级文件而言,我应该使用哪种规模的 EMR 集群和参数,以便获得更可接受的 运行ning 时间?
我通过简单地使用 Spark ALS 解决了这个问题。训练过程花费不到 2 分钟 在我的笔记本电脑上 在具有相同参数的相同数据集上。
我现在可以理解为什么某些机器学习算法由于性能问题而被弃用了......(例如,Minhash 算法)