1

我想用包的功能评估我的模型Recommenderlab

scheme <- evaluationScheme(UserByProductRRM, method = "cross-validation", k = 10, given =-1 , goodRating = 4)

但我不明白为什么我有这个错误

sample.int(length(x), size, replace, prob) 中的错误:“size”参数无效

4

2 回答 2

0

也许您的数据集 (UserByProductRRM) 的行只有 0。您必须删除这些行。在RealRatingMatrixBinaryRatingMatrix 中,所有行必须至少有一个 1。尝试rowSums函数来检测只有 0 的行。

于 2018-10-11T00:20:07.780 回答
0

出现此错误的原因似乎是无法计算要从数据集中提取的样本分数的维度。即无法计算您指定的“size”参数的值。因此,我建议您尝试从控制台查看“size”参数。“evaluationScheme”函数是指样本函数。示例函数无法计算“大小”。下面是一个例子。

library(tidytext)
library(tidyverse)
library(dplyr)
data("iris")
df_iris<-as.data.frame(iris)
train<-sample(1:nrow(df_iris),0.60*nrow(df))
nrow(df)

安慰:

 > train<-sample(1:nrow(df_iris),0.60*nrow(df))
    Error in sample.int(length(x), size, replace, prob) : 
      invalid 'size' argument
    > nrow(df)
    NULL

没有什么叫做“df”可以计算并传递给“size”参数。无法完成计算,并且缺少“大小”参数。这导致了错误。

于 2021-05-28T08:12:45.480 回答