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

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

一旦原始数据无法放入内存,我已将数据帧转换为稀疏矩阵,以避免内存问题并节省空间。

现在,我需要将这个稀疏矩阵转换为真实评级矩阵,以便我可以使用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”,然后强制转换为“realatingmatrix”。 看起来工作正常。

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

关于r - 将稀疏矩阵 (dgCMatrix) 转换为 realRatingMatrix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28439487/

相关文章:

c - 方阵与fork()的乘法;在 C

python - 如何在不均匀的多类数据集上使用数据增强?

R - 根据配对数据填充缺失信息

python - 替代 python pandas 中的 mutate(dplyr 包)

html - 如何在 R 中获取简单的 HTML 表单?

带有inspect()函数的R错误

javascript - 如何在 R highcharter 中制作 3 级钻取图(可能有其他包)

c++ - 编写一个函数来分配上三角矩阵

machine-learning - 构建决策树时如何求分割点的熵?

python - 如何在 python 的 sklearn 中使用 gridsearchcv 执行特征选择