2016-04-03 223 views
0

我是R.新手。
我使用R語言爲建議系統使用recommenderlab程序包構建原型。
我收到以下錯誤消息。R編程:評估中的錯誤:未使用的參數

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) 

我不知道爲什麼錯誤快到了,我怎麼能解決這個問題。
如果有人能幫助我解決這個問題,我將非常感激。
在此先感謝。

+1

的代碼工作我的系統上很好..有另一種稱爲評估你的環境的方法? –

+1

嘗試:'recommenderlab :: evaluate(x = eval_sets,method = models_to_evaluate,n = n_recommendations)' – coatless

+0

@Coatless:非常感謝。代碼爲我工作。 –

回答

2

爲什麼evaluate()難以被調用的原因是R相信一個函數不存在您指定的參數。這個評估函數甚至缺少一個...,所以額外的參數並不是指任何類型的固定或未固定的參數,因此是「未使用」的參數。造成這種情況的根本原因是要麼

  1. recommenderlab包不經由library()/require(),或
  2. 另一條R包存在一個使用名稱evaluate()作爲功能之一加載。

因此,我們選擇通過指定應該使用的包名稱空間來簡化R在搜索evaluate()的不同包名稱空間時出現的混淆。 recommenderlab::

因此,對於原因:

recommenderlab::evaluate(x = eval_sets, method = models_to_evaluate, n = n_recommendations) 
相關問題