我正在使用布尔值,试图评估 Mahout 中的推荐引擎。我的问题是关于选择评估函数的“正确”参数。提前为这篇冗长的帖子道歉。
IRStatistics evaluate(RecommenderBuilder recommenderBuilder,
DataModelBuilder dataModelBuilder,
DataModel dataModel,
IDRescorer rescorer,
int at,
double relevanceThreshold,
double evaluationPercentage) throws TasteException;
1)你能想到一个例子,其中必须使用以下两个参数:
- DataModelBuilder dataModelBuilder
- IDRescorer rescorer
2) 对于double relevanceThreshold
变量,我设置了值 GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD,但是,我想知道是否可以通过设置不同的值来构建“更好”的模型。
3)在我的项目中,我需要为每个用户推荐最多 10 个项目。这是否意味着为 variable 设置大于 10 的值应该没有意义int at
?
4) 考虑到我不必为构建模型等待很多时间而烦恼,将变量设置double evaluationPercentage
为 1 是一个好习惯吗?你能想到 1 不会给出最佳模型的任何情况吗?
5)为什么只要推荐(即变量int at
)的数量增加(我通过实验证明),精度/召回率(注意我正在处理布尔数据)就会增加?
6)spiting of both testing and training tests
在 mahout 中发生了什么,我该如何更改该百分比(除非基于项目的建议不是这种情况)?