Ошибка в sample.int(длина (x), размер, замена, проба): неверный аргумент "размер"; когда я использую AssessScheme

Я хотел бы оценить мою модель с функцией пакета Recommenderlab

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

но я не понимаю, почему у меня есть эта ошибка

Ошибка в sample.int(длина (x), размер, замена, проба): недопустимый аргумент "размер"

2 ответа

Возможно, ваш набор данных (UserByProductRRM) содержит строки только с 0. Вы должны удалить эти строки. В RealRatingMatrix или BinaryRatingMatrix все строки должны иметь хотя бы одну 1. Попробуйте функцию rowSums, чтобы обнаружить строки только с 0.

Причина этой ошибки, по-видимому, в том, что размеры фракции образца, которую вы хотите извлечь из набора данных, не могут быть вычислены. То есть значение указанного вами параметра «размер» не может быть вычислено. Поэтому я предлагаю вам попробовать посмотреть параметр "размер" из консоли. Функция «AssessmentScheme» относится к функции-образцу. Пример функции не может вычислить «размер». Примером этого является следующий.

      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». Расчет не может быть произведен, и параметр «размер» отсутствует. Это вызвало ошибку.

Другие вопросы по тегам