我正在使用Mahout的ItemSimilarityJob来计算项目的相似性,输入.csv文件如下所示:
user_id(numbers only), song_id(numbers only), listens(numbers only)
当我使用这些参数运行ItemSimilarityJob时
$MAHOUT_HOME/bin/mahout org.apache.mahout.cf.taste.hadoop.similarity.item.ItemSimilarityJob --input inputcsv/ --output outputcsv --similarityClassname SIMILARITY_PEARSON_CORRELATION --tempDir tempcsv --booleanData true
我在music / csvoutput目录中得到一个空白的part-r-00000文件。但是music / csvtemp中有很多文件。可能是什么原因?
答案 0 :(得分:1)
可能您的输入是您认为的位置,或者您没有表明您认为自己的位置。通常--input是一个完全限定的路径。检查并尝试。或者您的数据太小,无法计算相似之处。
答案 1 :(得分:1)
希望我的经验和答案能帮助别人,真的可以为我节省一些宝贵的时间。 您还需要检查--threshold参数的值。 设置得太高(甚至0.01)会导致Mahout过滤数据并最终过滤 生成空文件。 就我而言,我的随机生成数据导致了这一点。
答案 2 :(得分:0)
mahout org.apache.mahout.cf.taste.hadoop.similarity.item.ItemSimilarityJob -i intro.csv --output outputcsv --similarityClassname SIMILARITY_PEARSON_CORRELATION -m 3 --tempDir tempcsv --threshold 0.7 --booleanData
这将使用它