2013-06-25 68 views
0

我對Mahout中偏好值的含義有疑問。從書中Mahout它說:在Mahout中沒有負面偏好值的推薦

只要較大的值意味着 較強的積極偏好,偏好值可以是任何東西。例如,這些值可能是 的評分,評分範圍爲1至5,其中1表示用戶不能站立的項目,5表示最愛。

這是否意味着推薦人將總是將較小的值解釋爲否定偏好(不喜歡)?

我想創建一個沒有負面偏好的推薦人。我的意思是我根本沒有偏好,但是我可以根據不同的加權指標(點擊次數/編輯次數,編輯量,編輯方式等)推導出它們。然而,在我的實現中,當用戶編輯了一些頁面時,這並不意味着用戶不喜歡該頁面,而是喜歡它的一些量(喜歡的程度來自上面描述的)。

我試過只使用布爾偏好(Log-likelehood和Tanimoto相似度),但它們表現不好,在大多數情況下,它們不能產生推薦(在moore中50%)。

我想利用數字來獲得偏好,所以建議會更好,但我不知道如何。 我已經嘗試過從5到10導出的偏好值,然後每個用戶的偏好值爲1人工項目(意思是不喜歡它)。不過,我認爲這不是好的方法,因爲這意味着每個用戶都不喜歡同一個項目。

有人有更好的主意我該如何應用一些基於用戶和基於項目的算法只有「積極」(喜歡)的偏好值?

+0

您可以嘗試R中的推薦軟件包。 – Swamy

+0

我沒有得到您的建議。 R中的推薦軟件包是什麼?你的意思是包中的算法:org.apache.mahout.cf.taste.recommender? –

回答

1

你應該嘗試:

  • 隱含偏好ParallelALSFactorizationJob(Hadoop的基礎)
  • 或者隱含的偏好ALSWRFactorizer旁邊的SVDRecommender(不Hadoop的基礎),(我認爲這種非Hadoop的隱含偏好變種僅在mahout-0中可用。8),

在這些你分配給一個項目的用戶偏好的數字表明這個關聯有多強,而不是一個評級,所以它們都是正面關聯,只是具有不同的優勢。通過這種方式,您可以對不同的交互進行建模,例如查看,編輯,點擊等。雖然分配給每個人的力量會根據您的特定業務而有所不同。

這個演示文稿(link)應該給你一個大概的想法。另外這篇文章(link)描述了因子分析器的隱式反饋變體(它們是相同的,其中一個僅用於與hadoop一起縮放)

+0

謝謝Julian給你的提示。我一定會嘗試這個。你能不能請給我一個你所指的文件的鏈接? (你的回覆沒有鏈接) –

+0

Woops!我編輯了我的回覆並添加了它 –

+0

順便說一下,關於生成的推薦數量,正如肖恩指出的,這可能是由於數據太稀疏而不是使用的值。 –

2

如果您的意思是,您是否可以根據積極的行動獲得合理的結果,那麼當然是。這是常見的情況。如何解釋偏好值取決於您使用的算法,但對於任何算法,我都沒有發現任何正面動作與所有正值的編碼問題。這是一個簡單的例子。 「1」本質上不是負面評價,不。

您的關於相似性指標的觀點雖然與價值無關。聽起來像你的數據非常稀疏。這是一個單獨的問題。

其餘我不知道我明白。您使用的值取決於您的域名。我會讓他們與他們的「實力」或價值成正比。例如,如果視頻觀看次數比視頻共享頻率高20倍,則可以將視頻共享的價值視爲比點擊次數高20倍的動作。這是一個體面的開始。

+0

謝謝Sean,我只是想知道Mahout是否將最小(或小於平均)偏好值解釋爲不喜歡,以及最大(或更大然後是平均)值作爲最愛。但是我沒有得到你的最後一部分。你說在獲得偏好值時,股票應該得到更多的權重,然後點擊這個例子? (如果點擊次數多於股票)?我在想另一種方式。如果用戶多次看到這一舉動,他更喜歡它,但如果他只分享一次(也許分享不是我的例子),這種情況下的實力較小。 –

+0

嗯,當然,較大的值應該意味着更強或更積極的關聯。對於任何特定的價值沒有特別的絕對含義。很多點擊可能意味着多於一個的份額,是的。舉例來說,我認爲一個分享意味着不止一次點擊。這由你來建模和評估。 –

+0

是的,現在我明白了什麼意思。非常感謝:) –