Ошибка в sample.int(length(x), size, replace, prob): неверный аргумент 'size'; когда я использую схему оценки

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

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

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

Ошибка в sample.int(length(x), size, replace, prob): неверный аргумент 'size'


person fatma BEN MAKHLOUF    schedule 26.06.2018    source источник
comment
Привет, у меня такая же ошибка. Вы нашли, что происходит?   -  person lsmor    schedule 20.07.2018


Ответы (2)


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

person agfac    schedule 11.10.2018

Причина этой ошибки, по-видимому, заключается в том, что невозможно рассчитать размеры выборки, которую вы хотите извлечь из набора данных. То есть значение указанного вами параметра размера не может быть вычислено. Поэтому предлагаю вам попробовать посмотреть параметр size из консоли. Функция 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, которое можно было бы вычислить и передать в параметр размера. Расчет не мог быть выполнен, и параметр размера отсутствовал. Это вызвало ошибку.

person NCC1701    schedule 28.05.2021