【问题标题】:Predict using userid in recommenderlab在推荐实验室中使用用户 ID 进行预测
【发布时间】:2018-12-19 12:27:26
【问题描述】:

我有一个相当简单的推荐问题:我想在 R 中构建一个带有 recommenderlab 的混合推荐器,我在其中推荐 MovieLense 数据集中已经喜欢的电影以及流行电影和一些随机电影。

library(recommenderlab)

data("MovieLense")

MovieLense100 <- MovieLense[rowCounts(MovieLense) > 100,]
train <- MovieLense100[1:100]
test <- MovieLense100[101:103]

## mix popular movies with a random recommendations for diversity and
## rerecommend some movies the user liked.
recom <- HybridRecommender(
  Recommender(train, method = "POPULAR"),
  Recommender(train, method = "RANDOM"),
  Recommender(train, method = "RERECOMMEND"),
  weights = c(.6, .1, .3)
)

当我训练完模型后,我想使用 userId 为给定用户“预测”电影。 Recommenderlab 文档建议,只要用户 ID 在训练数据中,这是可能的。但是,当我尝试在 newdata 中使用 userid 进行预测时,我收到以下错误消息:

as(predict(object = recom, newdata = 1), "list")
#> Error in object@predict(object@model, newdata, n = n, data = data, type = type, : If newdata is a user id then data needes to be the training dataset.

很公平,我尝试使用矢量:

as(predict(recom, newdata = c(1,5)), "list")
#> Error in object@predict(object@model, newdata, n = n, data = data, type = type, : If newdata is a user id then data needes to be the training dataset.

无法真正弄清楚此错误消息的含义。有人知道吗?

【问题讨论】:

    标签: r recommendation-engine recommenderlab


    【解决方案1】:

    您只需要准确说明您是从训练数据集中向一个或多个用户推荐项目,如下所示:

    > as(predict(recom, 1, data = train), "list")
    $`1`
     [1] "Hearts and Minds (1996)"                     "Boys, Les (1997)"                            "Great Day in Harlem, A (1994)"              
     [4] "Dangerous Beauty (1998)"                     "Tough and Deadly (1995)"                     "Two or Three Things I Know About Her (1966)"
     [7] "Santa with Muscles (1996)"                   "Margaret's Museum (1995)"                    "Brassed Off (1996)"                         
    [10] "Thousand Acres, A (1997)"                   
    
    > as(predict(recom, 1:10, data = train), "list")
    $`1`
     [1] "Dangerous Beauty (1998)"                     "Great Day in Harlem, A (1994)"               "Hearts and Minds (1996)"                    
     [4] "Boys, Les (1997)"                            "Santa with Muscles (1996)"                   "Two or Three Things I Know About Her (1966)"
     [7] "Tough and Deadly (1995)"                     "Saint of Fort Washington, The (1993)"        "Whole Wide World, The (1996)"               
    [10] "Margaret's Museum (1995)"                   
    
    $`5`
     [1] "Boys, Les (1997)"                            "Two or Three Things I Know About Her (1966)" "Santa with Muscles (1996)"                  
     [4] "Dangerous Beauty (1998)"                     "Great Day in Harlem, A (1994)"               "Whole Wide World, The (1996)"               
     [7] "Hearts and Minds (1996)"                     "Brassed Off (1996)"                          "Saint of Fort Washington, The (1993)"       
    [10] "Celestial Clockwork (1994)"                 
    
    $`6`
     [1] "Dangerous Beauty (1998)"                     "Two or Three Things I Know About Her (1966)" "Santa with Muscles (1996)"                  
     [4] "Tough and Deadly (1995)"                     "Brassed Off (1996)"                          "Crooklyn (1994)"                            
     [7] "Great Day in Harlem, A (1994)"               "Hearts and Minds (1996)"                     "Saint of Fort Washington, The (1993)"       
    [10] "Boys, Les (1997)"                           
    
    $`7`
     [1] "Two or Three Things I Know About Her (1966)" "Tough and Deadly (1995)"                     "Santa with Muscles (1996)"                  
     [4] "Dangerous Beauty (1998)"                     "Hearts and Minds (1996)"                     "Great Day in Harlem, A (1994)"              
     [7] "Boys, Les (1997)"                            "Brassed Off (1996)"                          "Margaret's Museum (1995)"                   
    [10] "Crooklyn (1994)"                            
    
    $`10`
     [1] "Dangerous Beauty (1998)"                     "Great Day in Harlem, A (1994)"               "Hearts and Minds (1996)"                    
     [4] "Tough and Deadly (1995)"                     "Two or Three Things I Know About Her (1966)" "Boys, Les (1997)"                           
     [7] "Santa with Muscles (1996)"                   "Brassed Off (1996)"                          "Margaret's Museum (1995)"                   
    [10] "Crooklyn (1994)"                            
    
    $`11`
     [1] "Two or Three Things I Know About Her (1966)" "Hearts and Minds (1996)"                     "Great Day in Harlem, A (1994)"              
     [4] "Tough and Deadly (1995)"                     "Brassed Off (1996)"                          "Dangerous Beauty (1998)"                    
     [7] "Boys, Les (1997)"                            "Santa with Muscles (1996)"                   "Thousand Acres, A (1997)"                   
    [10] "Horse Whisperer, The (1998)"                
    
    $`13`
     [1] "Santa with Muscles (1996)"        "Brassed Off (1996)"               "Tough and Deadly (1995)"          "Boys, Les (1997)"                
     [5] "Thousand Acres, A (1997)"         "Margaret's Museum (1995)"         "Total Eclipse (1995)"             "Love! Valour! Compassion! (1997)"
     [9] "Withnail and I (1987)"            "Prefontaine (1997)"              
    
    $`15`
     [1] "Two or Three Things I Know About Her (1966)" "Boys, Les (1997)"                            "Great Day in Harlem, A (1994)"              
     [4] "Tough and Deadly (1995)"                     "Dangerous Beauty (1998)"                     "Saint of Fort Washington, The (1993)"       
     [7] "Santa with Muscles (1996)"                   "Hearts and Minds (1996)"                     "Celestial Clockwork (1994)"                 
    [10] "Whole Wide World, The (1996)"               
    
    $`16`
     [1] "Great Day in Harlem, A (1994)"               "Dangerous Beauty (1998)"                     "Hearts and Minds (1996)"                    
     [4] "Two or Three Things I Know About Her (1966)" "Boys, Les (1997)"                            "Santa with Muscles (1996)"                  
     [7] "Tough and Deadly (1995)"                     "Brassed Off (1996)"                          "Crooklyn (1994)"                            
    [10] "Thousand Acres, A (1997)"                   
    
    $`18`
     [1] "Great Day in Harlem, A (1994)"               "Two or Three Things I Know About Her (1966)" "Dangerous Beauty (1998)"                    
     [4] "Hearts and Minds (1996)"                     "Santa with Muscles (1996)"                   "Tough and Deadly (1995)"                    
     [7] "Boys, Les (1997)"                            "Whole Wide World, The (1996)"                "Margaret's Museum (1995)"                   
    [10] "Saint of Fort Washington, The (1993)" 
    

    否则,predict函数我们不知道你指的是哪个用户。

    您还可以对测试数据进行如下预测:

    > as(predict(recom, test), "list")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-27
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多