【问题标题】:k-fold cross validation in RankLibRankLib 中的 k 折交叉验证
【发布时间】:2019-09-14 16:56:13
【问题描述】:

我想对 MQ20​​08 数据集进行 5 折交叉验证。我正在使用 RankLib 在数据集上应用 ML 算法。我对 Ranklib 中为交叉验证给出的 kcv 选项感到困惑。 使用的命令:

java - jar RankLib.jar -ranker 0 -train train.txt -test test.txt -validate vali.txt -kcv 5

在这里,我们为训练、测试和验证指定不同的文件。然后它是如何划分数据以进行 5 折交叉验证的。

【问题讨论】:

    标签: machine-learning cross-validation k-fold


    【解决方案1】:

    要使用 ranklib 进行 k 折交叉验证,您需要使用一个数据集

    程序本身会随机划分数据以进行训练、测试和验证。 当您使用 5 折交叉验证时,程序将重复该过程 5 次,并为您提供 5 次分析的平均值作为最终结果。 您需要为您的学习评估选择一个指标。请参阅此How to use page 上的[ -metric2t <metric> ]

    例如,请参阅下面的命令。我只有一个数据集来提供我的算法。我使用NDCG@10 作为我的评估指标。另外,我使用-kcvmd 将模型保存在目录中,并使用-kcvmn 命名模型。

    java -jar RankLib-2.1-patched.jar -train trainingData.txt -ranker 8 -kcv 5 -kcvmd kcvModels/ -kcvmn txt -metric2t NDCG@10 -metric2T NDCG@10 -save Models/model.txt
    

    【讨论】:

      猜你喜欢
      • 2016-01-15
      • 2018-08-29
      • 2017-06-09
      • 1970-01-01
      • 1970-01-01
      • 2020-08-29
      • 2016-11-15
      • 2017-07-02
      • 2020-10-24
      相关资源
      最近更新 更多