我的gradle交叉折叠任务看起来像这样:
task crossfold(type: Crossfold, group: 'evaluate') {
input 'data/mt-500k.yml'
// test on same 1/5 of each user's ratings
holdoutFraction(0.2,'timestamp')
// use 5-fold cross-validation
partitionCount 3
//use partition users method
method 'partition-users'
}
mt-500k数据集包含所有评级。由于我的RAM数量有限,我需要分开运行我的算法。这意味着即使我的数据没有改变,交叉折叠也会重新迭代,导致训练/测试折叠中的不同用户导致结果无法比拟。如何保持相同的交叉折叠或防止镜头套件重复迭代?
答案 0 :(得分:0)
事实证明,只需将评估任务中的dataSet变量更改为:
dataSet 'build/crossfold.out/datasets.yaml'
Lenskit会处理其他所有事情。