【问题标题】:Error in sample.int(length(x), size, replace, prob) : invalid 'size' argument ; when i using evaluationSchemesample.int(length(x), size, replace, prob) 中的错误:“size”参数无效;当我使用评估方案时
【发布时间】:2018-12-05 10:47:37
【问题描述】:
我想用包Recommenderlab的功能评估我的模型
scheme <- evaluationScheme(UserByProductRRM, method = "cross-validation", k = 10, given =-1 , goodRating = 4)
但我不明白为什么会出现此错误
sample.int(length(x), size, replace, prob) 中的错误:无效
“大小”参数
【问题讨论】:
标签:
r
cross-validation
recommender-systems
recommenderlab
【解决方案1】:
也许您的数据集 (UserByProductRRM) 的行只有 0。您必须删除这些行。在 RealRatingMatrix 或 BinaryRatingMatrix 中,所有行必须至少有一个 1. 尝试rowSums 函数来检测只有 0 的行。
【解决方案2】:
出现此错误的原因似乎是无法计算要从数据集中提取的样本分数的维度。即无法计算您指定的“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”参数。无法完成计算,并且缺少“大小”参数。这导致了错误。