将稀疏矩阵 (dgCMatrix) 转换为 realRatingMatrix
Convert sparse matrix (dgCMatrix) to realRatingMatrix
我已将数据框转换为稀疏矩阵以避免内存问题并保存 space,一旦原始数据不适合内存。
现在,我需要将这个稀疏矩阵转换为真实评分矩阵,以便我可以使用 recommenderlab 构建推荐系统,但出现以下错误:
Error in as(aux_max, "realRatingMatrix") :
no method or default for coercing “dgCMatrix” to “realRatingMatrix”
我的示例代码如下:
library(Matrix)
UserID<-c(10090,10090,10090,10316,10316)
MovieID <-c(63155,63530,63544,63155,63545)
Rating <-c(2,2,1,2,1)
trainingData<-data.frame(UserIDa,MovieID,Rating)
UIMatrix <- sparseMatrix(i = as.integer(as.factor(trainingData$UserID)),
j = as.integer(as.factor(trainingData$MovieID)),
x = trainingData$Rating
)
dimnames(UIMatrix) <- list(sort(unique(trainingData$UserID)),
sort(unique(trainingData$MovieID)))
rrm <- as(UIMatrix, "realRatingMatrix")
任何人都可以就如何解决这个问题给出一些建议吗?
好吧,我想我得到了答案。
我将 "dgCMatrix" 强制为 "matrix",然后为 "realratingmatrix"。
似乎工作正常。
rrm<- as( as(UIMatrix, "matrix") , "realRatingMatrix")
我刚收到这个错误(没有方法或默认将“matrix”强制转换为“realRatingMatrix”),我需要安装 library(recommenderlab) 包。
error message and solution
我已将数据框转换为稀疏矩阵以避免内存问题并保存 space,一旦原始数据不适合内存。
现在,我需要将这个稀疏矩阵转换为真实评分矩阵,以便我可以使用 recommenderlab 构建推荐系统,但出现以下错误:
Error in as(aux_max, "realRatingMatrix") :
no method or default for coercing “dgCMatrix” to “realRatingMatrix”
我的示例代码如下:
library(Matrix)
UserID<-c(10090,10090,10090,10316,10316)
MovieID <-c(63155,63530,63544,63155,63545)
Rating <-c(2,2,1,2,1)
trainingData<-data.frame(UserIDa,MovieID,Rating)
UIMatrix <- sparseMatrix(i = as.integer(as.factor(trainingData$UserID)),
j = as.integer(as.factor(trainingData$MovieID)),
x = trainingData$Rating
)
dimnames(UIMatrix) <- list(sort(unique(trainingData$UserID)),
sort(unique(trainingData$MovieID)))
rrm <- as(UIMatrix, "realRatingMatrix")
任何人都可以就如何解决这个问题给出一些建议吗?
好吧,我想我得到了答案。 我将 "dgCMatrix" 强制为 "matrix",然后为 "realratingmatrix"。 似乎工作正常。
rrm<- as( as(UIMatrix, "matrix") , "realRatingMatrix")
我刚收到这个错误(没有方法或默认将“matrix”强制转换为“realRatingMatrix”),我需要安装 library(recommenderlab) 包。
error message and solution