1

我一直在玩lightfm很長一段時間,發現它真的很有用的建議。但是,我想知道兩個主要問題。評估LightFM推薦模型

  1. 評估LightFM模型情況下的建議的等級關係,我應該更多地依靠[email protected]或其他提供評價指標,如AUC score?與其他指標相比,我應該在哪些情況下專注於改進我的[email protected]?或者他們高度相關?這意味着如果我設法提高我的[email protected]分數,其他指標會跟着,我是否正確?

  2. 對於[email protected],如果使用WARP損失函數訓練的模型的得分爲0.089,您將如何解釋? AFAIK,精確度5分告訴我前5個結果中有多少比例是正面/相關的。這意味着我會得到0 [email protected]如果我的預測不能使它前五名或我會得到0.2,如果我只有一個預測的前5正確的,但我無法解釋是什麼意思0.0xx爲[email protected]

謝謝

回答

4

Precision @ K和AUC測量不同的東西,並給你不同的觀點你的模型的質量。一般而言,它們應該相互關聯,但理解它們的不同可能會幫助您選擇對於您的應用程序更重要的那個。

  • Precision @ K計算K個排名最高的項目中積極項目的比例。因此,它非常注重列表頂部的排名質量:只要前K個項目主要是正面的,其他排名的好壞並不重要。如果您只是將您的用戶展示在列表的最頂端,這將是一個合適的指標。
  • AUC衡量總體排名的質量。在二元情況下,它可以被解釋爲隨機選擇的正項目排名高於隨機選擇的負項目的概率。因此,接近於1.0的AUC將表明,總體而言,您的排序是正確的:即使前K個項目都不是正數,這也可能是正確的。如果您不完全控制將呈現給用戶的結果,則此度量標準可能更合適;可能是第一個K推薦商品不再可用(比如,它們缺貨),並且您需要進一步向下排名。高AUC評分會讓你確信你的排名整體上都是高質量的。

還要注意,儘管AUC度量標準的最大值是1.0,但最大可達到的精度@ K取決於您的數據。例如,如果您測量精度@ 5但只有一個肯定項目,則可以達到的最高分數爲0.2。

在LightFM中,AUC和precision @ K例程返回度量分數數組:每個用戶在測試數據中都有一個數組。最有可能的是,您將這些平均值取平均AUC或平均精確度@ K得分:如果某些用戶的精度@ 5度量標準得分爲0,則平均精度@ 5可能會介於0和0.2之間。

希望這會有所幫助!

+0

太棒了!非常感謝@macieckula – bohr