Я пытаюсь протестировать бинарные рекомендательные системы, которые я создал с помощью пакета recommenderlab
. Когда я запускаю функцию calcPredictionAccuracy
, я получаю следующую ошибку:
Ошибка в .local(x, data,...): Вам нужно указать, сколько элементов было дано для предсказания! Я выполнил многочисленные поиски и не могу найти решение этой проблемы. Если я попытаюсь добавить данный аргумент, ошибка изменится на:
error.ubcf‹-calcPredictionAccuracy(p.ubcf, getData(test_index, "неизвестно", данный=3)) Ошибка в .local(x, ...) : неиспользуемый аргумент (данный = 3)
Вот быстрый взгляд на мой код:
мой набор данных двоичный.watch.ratings
affinity.matrix <- as(binary.watch.ratings,"binaryRatingMatrix")
test_index <- evaluationScheme(affinity.matrix[1:1000], method="split",
train=0.9, given=1)
# creation of recommender model based on ubcf
Rec.ubcf <- Recommender(getData(test_index, "train"), "UBCF")
# creation of recommender model based on ibcf for comparison
Rec.ibcf <- Recommender(getData(test_index, "train"), "IBCF")
# making predictions on the test data set
p.ubcf <- predict(Rec.ubcf, getData(test_index, "known"), type="topNList")
# making predictions on the test data set
p.ibcf <- predict(Rec.ibcf, getData(test_index, "known"), type="topNList")
# obtaining the error metrics for both approaches and comparing them
##error occurs with the following two lines
error.ubcf<-calcPredictionAccuracy(p.ubcf, getData(test_index, "unknown"))
error.ibcf<-calcPredictionAccuracy(p.ibcf, getData(test_index, "unknown"))
error <- rbind(error.ubcf,error.ibcf)
rownames(error) <- c("UBCF","IBCF")
Это приводит к следующей ошибке:
error.ubcf‹-calcPredictionAccuracy(p.ubcf, getData(test_index, "неизвестно")) Ошибка в .local(x, data, ...): Вам нужно указать, сколько элементов было дано для прогноза!
Мой вопрос в том, в какой точке моего кода я должен указать, сколько элементов дается для прогнозирования? Связана ли эта проблема с тем, что мои данные двоичные?
Спасибо
Роберт