2013-03-28 40 views
1

我想使用mahout,它應該幫助我下一個: 我有用戶,項目和偏好矩陣。 我們已經爲所有用戶和項目填滿了所有分數。然後,某些用戶的某些項目的偏好分數會發生變化。問題是狀態變化後如何重新計算可能受到最近操作影響的其他用戶分數?Mahout評分矩陣狀態改變

例如:

state before  state changed   state after recalculation 

u1 item1 25   u1 item1 25   u1 item1 ?? 
u1 item2 12   u1 item2 12   u1 item2 ?? 
u1 item3 10   u1 item3 10   u1 item3 ?? 
u2 item1 25  => u2 item1 25  =  u2 item1 ?? 
u2 item2 12   u2 item2 12   u2 item2 ?? 
u2 item3 10   u2 item3 10   u2 item3 ?? 
u3 item1 25   u3 item1 20*   u3 item1 20 
u3 item2 12   u3 item2 15*   u3 item2 15 
u3 item3 10   u3 item3 10   u3 item3 10 
+0

在理論上,每次更新後,每個分數都有所變化。目前還不清楚你在問什麼結果。添加一些細節。 –

+0

是的,你說得對,每個價值都改變了。關鍵是我想要從mahout中獲得如此的好處:u1 item1 25.5,u1 item2 13,u2 ...然後我將從列(之前的狀態)替換u1 item1 25到u1 item1(25 + 25.5)/ 2 = 25.25等。因此,我將獲得用戶屬性pereferences的下一個近似狀態。 – HighJustice

+0

您似乎不清楚您嘗試實現的目標。用戶的偏好是否隨時間而改變,並且您希望重新生成推薦者模型,以便生成的建議使用新的偏好值?或者當某個項目的用戶偏好發生變化時,您希望保持某種平均值作爲偏好值?或者它有什麼不同? –

回答

0

亨利馬烏不會適應的建議在網上方式,當偏好的變化,在本質上,你就需要給亨利馬烏完整的更新數據模型文件,並再次要求它重新計算建議建模並從中檢索建議,所以基本上就像一個批處理過程。

有點像:

  • File1中 - >亨利馬烏 - >推薦
  • (文件1 +在偏好的變化) - >文件2
  • 文件2 - >亨利馬烏 - >推薦
+0

當我們對特定用戶的項目分數有空白時,它可以很好地工作。如何設定所有分數時,它是如何工作的? Mahout不希望在這種情況下提出建議:) – HighJustice

+0

我不確定我是否關注。如果你對所有項目的每個用戶都有分數,那你爲什麼需要推薦人?推薦人的目的通常是試圖預測用戶未來與他們尚未互動的項目之間的互動。 我必須問,你如何確定用戶對項目的偏好值?這是用戶給該項目的明確評分嗎?或者你如何解決這個問題? –

+0

回答您的問題:根據隱式用戶偏好設置分數,當然這只是原始預測(逼近)。爲了使它們更精確,根據對系統進行的每一次改變重新計算它們將是一件好事。然後我們將根據系統進化得到越來越精確的近似值。我正在考慮以下內容(參見帶矩陣的圖):迭代所有與用戶3(u3)最相似的用戶,並刪除所有item1和item2。爲每個用戶重新計算這些項目的分數。 Сalculate算術平均值。商店。但這是非常耗時的方法... – HighJustice