2016-04-03 23 views
0

Ben yeniyim
recommenderlab paketi kullanarak Öneri Sistemi için prototip oluşturmak için R dilini kullanıyorum.
Hata mesajı alıyorum. kodunun altına yürütülürkenR programlama: Değerlendirmede hata: Kullanılmayan bağımsız değişkenler

Error in evaluate(x = eval_sets, method = models_to_evaluate, n = n_recommendations) : 
    unused arguments (x = eval_sets, method = models_to_evaluate, n = n_recommendations) 

:

library(recommenderlab) 
library(ggplot2) 
data("MovieLense") 
ratings_movies <- MovieLense[rowCounts(MovieLense) > 27, colCounts(MovieLense) > 21] 
n_fold <- 4 
items_to_keep <- 15 
rating_threshold <- 3 
eval_sets <- evaluationScheme(data = ratings_movies, 
           method = "cross-validation", 
           k = n_fold, 
           given = items_to_keep, 
           goodRating = rating_threshold) 

models_to_evaluate <- list(
    IBCF_cos = list(name = "IBCF", param = list(method = "cosine")), 
    IBCF_cor = list(name = "IBCF", param = list(method = "pearson")), 
    UBCF_cos = list(name = "UBCF", param = list(method = "cosine")), 
    UBCF_cor = list(name = "UBCF", param = list(method = "pearson")), 
    random = list(name = "RANDOM", param=NULL) 
) 

n_recommendations <- c(1, 5, seq(10, 100, 10)) 

list_results <- evaluate(x = eval_sets, 
        method = models_to_evaluate, 
        n = n_recommendations) 

hata geliyor neden emin değilim ve bunu nasıl düzeltebilirim.
Eğer birisi bana bu konuda yardımcı olabilirse çok minnettar olacağım.
Şimdiden teşekkürler.

+1

kod sistemimde iyi çalışıyor .. ortamınızda değerlendirmek adlı başka bir yöntem var mı? –

+1

Dene: 'suggestenderlab :: assess (x = eval_sets, method = models_to_evaluate, n = n_recommendations)' – coatless

+0

@Coatless: Çok teşekkürler. Kod benim için çalıştı. –

cevap

2

evaluate()'un neden çağrılmakta zorlandığının nedeni, R'nin belirttiğiniz argümanlar olmadan bir işlev olduğuna inanır. Bu değerlendirme işlevi, ... bile içermez, bu nedenle ek argümanlar herhangi bir sabit veya sabitlenmemiş parametreye atıfta bulunmaz ve dolayısıyla "kullanılmamış" argümanlardır. Bunun altında yatan nedeni recommenderlab paket adı fonksiyonları olarak evaluate() kullanan library()/require() veya

  • başka R, bir paket mevcut ile yüklenmez ya

    1. olup. Bu, örneğin kullanılmalıdır paket ad, belirterek evaluate() için farklı paket ad alanları üzerinden aradığında

    Dolayısıyla, R, yer alır karışıklığı kolaylaştırmak için tercih recommenderlab::

    Böylece nedeni:

    recommenderlab::evaluate(x = eval_sets, method = models_to_evaluate, n = n_recommendations) 
    
  • İlgili konular