2012-10-17 67 views
5

我們正試圖找到其中的項目在各種列出了用戶評選項目(以及後來的用戶)之間的相似性最有效的相似性度量(認爲羅布,巴里和迪克在Hi Fidelity)。給定列表中較低的索引意味着較高的評分。的名單排名第一的項目

我想一個標準的方法是使用皮爾森相關,然後以某種方式顛倒索引。

不過,據我瞭解,Pearson相關的目的是爲了補償誰的普遍評價事物或高或低,但有一個類似的相對等級的用戶之間的差異。

在我看來,如果列表是連續的(儘管任意長度的),它不是從位置所隱含的收視率會以這種方式被扭曲的問題。

我想在這種情況下,基於歐幾里德的相似性就足夠了。是這樣嗎?如果使用Pearson相關性會產生負面影響,並且發現相關性不合適?什麼樣的相似性度量可能最適合這些數據

此外,同時我們希望位置列表中有我們不想懲罰那些相距甚遠的排名效果。兩名用戶在列表中列出具有非常不同排名的項目時,仍應視爲相似。

回答

3

Jaccard Similarity在你的情況下看起來更好。要包括您提到的等級,您可以採取一攬子方案。

使用您的(RobBarryDick)例如與他們的等級是(3,2,1)分別插入Rob 3次到該用戶a的袋子。

Rob, Rob, Rob. 

然後爲Barry,你做兩次。目前包看起來像下面,

Rob, Rob, Rob, Barry, Barry. 

你把Dick入袋最後。

Rob, Rob, Rob, Barry, Barry, Dick 

假設另一用戶b具有[Dick, Dick, Barry]袋,則計算Jaccard相似如下:

  • ab = [Dick, Barry]
  • ab = [Rob, Rob, Rob, Barry, Barry, Dick, Dick]工會之間的交叉
  • Jaccard Similarity = 2/7,

即,在交叉路口通過在聯合的項目數劃分的項目數。

這種相似性措施確實懲罰那些相距甚遠的排名。你可以看到:

兩個用戶都在列表中具有非常不同的排名項目應該仍然被認爲是相似的。

1

僅基於排名的最爲人熟知的相似性度量標準是Spearman's correlation。它只將「1」分配給第一項,將「2」分配給第二項等,並計算(皮爾遜)相關係數。 (你可以使值下降,這更直觀 - 與皮爾遜的相關性無關緊要。)

斯皮爾曼的相關性在項目中實現,但是,那說我認爲它不是很有用。

Tau rank是一個更原則的衡量多少排名表匹配,但它沒有實現。這不會很難。

+0

我很喜歡Tau的排名。它看起來很完美,但我擔心它的複雜性。因爲你必須比較所有可能的配對項目,所以每對用戶需要做更多的工作。也許它會遭受更密集的數據集? –

+0

僅考慮每個用戶的最高評分中的項目,或者隨機抽取適量的對,應該快速給出合理的近似值。我沒有這個指標的實踐經驗,只是我的猜測。 –