0

我正在使用推荐实验室从 UBCF 模型中获取推荐,并且我想提取用户之间的相似之处。但是,当我尝试使用 predict() 函数获取建议时,出现此错误:

> recc_predicted2 <- predict(object = recc_model2, newdata = recc_data_test, n = n_recommended2) 
Error in h(simpleError(msg, call)) : 
error in evaluating the argument 'x' in selecting a method for function 't': not-yet-implemented method for <dgCMatrix> %*% <list> 

另一方面,当我为 IBCF 模型尝试相同的方法时,它工作得很好。

这是UBCF结构:

Formal class 'Recommender' [package "recommenderlab"] with 5 slots
  ..@ method  : chr "UBCF"
  ..@ dataType: chr "realRatingMatrix"
  .. ..- attr(*, "package")= chr "recommenderlab"
  ..@ ntrain  : int 71
  ..@ model   :List of 10
  .. ..$ description         : chr "UBCF-Real data: contains full or sample of data set"
  .. ..$ data                :Formal class 'realRatingMatrix' [package "recommenderlab"] with 2 slots
  .. .. .. ..@ data     :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
  .. .. .. .. .. ..@ i       : int [1:6761] 35 29 66 11 11 57 35 35 69 69 ...
  .. .. .. .. .. ..@ p       : int [1:7476] 0 1 2 2 3 4 5 6 7 7 ...
  .. .. .. .. .. ..@ Dim     : int [1:2] 71 7475
  .. .. .. .. .. ..@ Dimnames:List of 2
  .. .. .. .. .. .. ..$ : chr [1:71] "638" "1424" "1733" "2033" ...
  .. .. .. .. .. .. ..$ : chr [1:7475] "0002325780" "0002553384" "0004133439" "000433549X" ...
  .. .. .. .. .. ..@ x       : num [1:6761] -2.143 1.492 0.92 -0.682 -0.682 ...
  .. .. .. .. .. ..@ factors : list()
  .. .. .. ..@ normalize:List of 1
  .. .. .. .. ..$ row:List of 2
  .. .. .. .. .. ..$ method : chr "center"
  .. .. .. .. .. ..$ factors:List of 2
  .. .. .. .. .. .. ..$ means: Named num [1:71] 9.27 7.12 7.44 8.73 8.37 ...
  .. .. .. .. .. .. .. ..- attr(*, "names")= chr [1:71] "638" "1424" "1733" "2033" ...
  .. .. .. .. .. .. ..$ sds  : NULL
  .. ..$ method              : chr "Cosine"
  .. ..$ nn                  : num 30
  .. ..$ sample              : logi FALSE
  .. ..$ weighted            : logi TRUE
  .. ..$ normalize           : chr "center"
  .. ..$ min_matching_items  : num 0
  .. ..$ min_predictive_items: num 0
  .. ..$ verbose             : logi FALSE
  ..@ predict :function (model, newdata, n = 10, data = NULL, type = c("topNList", "ratings", "ratingMatrix"), ...)  

这是 IBCF 结构:

Formal class 'Recommender' [package "recommenderlab"] with 5 slots
  ..@ method  : chr "IBCF"
  ..@ dataType: chr "realRatingMatrix"
  .. ..- attr(*, "package")= chr "recommenderlab"
  ..@ ntrain  : int 71
  ..@ model   :List of 9
  .. ..$ description         : chr "IBCF: Reduced similarity matrix"
  .. ..$ sim                 :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
  .. .. .. ..@ i       : int [1:173970] 1037 1453 2636 3548 3581 4381 5130 5753 6856 6952 ...
  .. .. .. ..@ p       : int [1:7476] 0 0 10 10 10 10 10 10 10 10 ...
  .. .. .. ..@ Dim     : int [1:2] 7475 7475
  .. .. .. ..@ Dimnames:List of 2
  .. .. .. .. ..$ : chr [1:7475] "0002325780" "0002553384" "0004133439" "000433549X" ...
  .. .. .. .. ..$ : chr [1:7475] "0002325780" "0002553384" "0004133439" "000433549X" ...
  .. .. .. ..@ x       : num [1:173970] 1 1 1 1 1 1 1 1 1 1 ...
  .. .. .. ..@ factors : list()
  .. ..$ k                   : num 30
  .. ..$ method              : chr "Cosine"
  .. ..$ normalize           : chr "center"
  .. ..$ normalize_sim_matrix: logi FALSE
  .. ..$ alpha               : num 0.5
  .. ..$ na_as_zero          : logi FALSE
  .. ..$ verbose             : logi FALSE
  ..@ predict :function (model, newdata, n = 10, data = NULL, type = c("topNList", "ratings", "ratingMatrix"), ...)  

似乎是什么问题?

4

0 回答 0