将稀疏矩阵(dgCMatrix)转换为realRatingMatrix

时间:2015-02-10 18:51:03

标签: r matrix machine-learning sparse-matrix recommendation-engine

一旦原始数据不适合内存,我就将数据帧转换为稀疏矩阵,以避免内存问题并节省空间。

现在,我需要将此稀疏矩阵转换为realratingmatrix,以便我可以使用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")

有人可以就如何解决这个问题提出一些建议吗?

2 个答案:

答案 0 :(得分:3)

嗯,我想我得到了答案。 我强迫&#34; dgCMatrix&#34;到&#34;矩阵&#34;然后到#34; realratingmatrix&#34;。 似乎工作正常。

rrm<- as(  as(UIMatrix, "matrix")   , "realRatingMatrix")

答案 1 :(得分:0)

我刚刚收到此错误(没有将“矩阵”强制为“ realRatingMatrix”的方法或默认值),我需要安装library(recommenderlab)软件包。

error message and solution