我正在使用推荐实验室从 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"), ...)
似乎是什么问题?