我是R.
我使用R语言构建了基于recommenderlab软件包的推荐系统原型。
我得到以下错误信息。
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)我不知道为什么会出现错误,以及如何解决这个问题。
如果有人能帮我解决这个问题,我将非常感激。
提前谢谢。
发布于 2016-04-05 02:32:41
evaluate()之所以很难被调用,是因为R相信没有指定参数就存在函数。这个计算函数甚至缺少一个...,因此附加参数没有引用任何类型的固定或非固定参数,因此是“未使用的”参数。造成这种情况的根本原因是
recommenderlab包不是通过library()/require()加载的,或者evaluate()作为函数之一的R包出现了。因此,我们选择通过指定应该使用的包命名空间来简化R在不同的包命名空间中搜索evaluate()时的混淆,例如recommenderlab::
因此,理由如下:
recommenderlab::evaluate(x = eval_sets, method = models_to_evaluate, n = n_recommendations)https://stackoverflow.com/questions/36382063
复制相似问题