0

我的 gradle crossfold 任务如下所示:

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 数量有限,我需要分开运行我的算法。这意味着即使我的数据没有改变,交叉折叠也会重新迭代,导致训练/测试折叠中的不同用户导致结果无法比较。如何保持相同的交叉折叠或防止 lenskit 重新迭代?

4

1 回答 1

0

事实证明,只需将评估任务中的 dataSet 变量更改为:

dataSet 'build/crossfold.out/datasets.yaml'

Lenskit 负责其他一切。

于 2017-04-10T17:04:03.143 回答