2013-04-28 33 views
0

我使用Mahout中的ItemSimilarityJob計算與輸入.csv文件的項目相似,看起來像這樣:Mahout的項目相似輸出空

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文件。然而音樂/ csvtemp中有很多文件。可能是什麼原因?

回答

1

也許,您的輸入是您認爲它的位置,或者您沒有指出您認爲自己的位置。通常情況下, - 輸入是完全合格的路徑。檢查並嘗試。或者您的數據太小,無法計算相似度。

+0

@肖恩 - 歐文喜。感謝回覆。我再次執行了這項工作;這次沒有'booleanData true',它創建了一個大的部分-r-00000文本文件。也許當booleanData設置爲true時,它需要一個四元組'user-id','item-id','value'和可選的'preferences'。 另外,你知道我如何讀取臨時文件夾中形成的similarityMatrix文件。臨時文件夾中有很多文件,我不知道如何閱讀。再次感謝。 – Shobit 2013-04-28 17:31:55

+0

不,布爾數據意味着它忽略評級 - 全部被視爲「1」。這與Pearson相關性完全不相容,因爲它會使所有相似性不明確。你會使用對數似然。但是,你根本不需要包含你的第三欄。 – 2013-04-28 17:43:45

+0

哦,是的,我意識到我再次運行loglikelihood(並且沒有booleanData true),它工作。謝謝你的時間,肖恩。我剛剛看到你的個人資料。 BIG也感謝你對Mahout的貢獻。雖然我還在探索,但對於像我這樣的ML新手來說,這是一個很棒的工具。 :) – Shobit 2013-04-28 17:47:54

1

希望我的經驗和答案能夠幫助別人,真的可以爲我節省一些寶貴的時間。 您還需要檢查--threshold參數的值。 設置太高(甚至0.01)會導致Mahout過濾數據,最終生成空文件。 在我的情況下,這是我的隨機生成的數據,造成這種情況。

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

這將工作中使用它

相關問題