簡體   English   中英

Apache Mahout 推薦器 - 我應該為每個用戶重新創建數據模型嗎?

[英]Apache mahout recommender - should I recreate the data model for every user?

我是 Apache Mahout 推薦器的新手。 用例涉及根據用戶的購買歷史向用戶提供建議。 我打算使用以下信息:

  • 采購類別
  • 采購量
  • 購買時間(例如 - 在購買第一條牛仔褲 6 個月后推薦一條牛仔褲)
  • 用戶所在地

為了識別具有相似購買模式/購買時間的用戶並給予他們更多的偏好,我是否必須為每個用戶制作自定義數據模型? 我計划定期從數據庫導入以重新創建數據模型。 有沒有辦法像下面提到的那樣動態地給予優先權:

  1. 地點+購買類別+時間匹配
  2. 購買類別+時間匹配
  3. 位置 + 時間匹配(例如冬裝)

目前我正在使用提供的示例代碼。 (需要大量修改)

UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
        UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model);
        UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity);
        List<RecommendedItem> recommendations = recommender.recommend(74, 10);

一般來說,要實現您的建議,您需要對數據執行一個步驟,在其中添加一個像t_since_last_purchase這樣的特性,它是一個整數 0 -> inf。 例如,自上次購買以來的天數。

這個特征,時間,將是另一個相關的用戶特征。

我認為您正在查看一些較舊的基於 Map-Reduce 的 reccomenders-實際上是一流的-但鑒於您的用例,您可能想要查看基於 coorelated cooccurence 的 reccomenders ,它具有能夠查看的顯着好處用戶的多個活動(在您的情況下,位置,以前的購買,時間)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM