2016-04-03 16 views
0

Rの新機能
recommenderlabパッケージを使用している推奨システムのプロトタイプを作成するためにR言語を使用しています。
以下のエラーメッセージが表示されます。コードの下に実行するには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()が呼び出されにくい理由は、あなたが指定した引数なしに関数が存在すると考えているからです。この評価関数には...も含まれていないので、追加の引数は固定または固定パラメータの種類を参照していないため、 "未使用"引数です。 recommenderlabパッケージはlibrary()/require()、又は

  • を介してロードされていないのいずれかである

    1. これの根本的な理由は、他のRパッケージは、機能の一つとして名前evaluate()を使用することに存在します。したがって

    、我々は、例えば、それが使用されるべきパッケージの名前空間を指定することにより、evaluate()のための異なるパッケージの名前空間を検索する際Rがあり、混乱を簡素化することを選びますrecommenderlab::

    したがって、理由:

    recommenderlab::evaluate(x = eval_sets, method = models_to_evaluate, n = n_recommendations)