写在前面,metric2t指标详解:

NDCG(Normalized discounted cumulative gain)即DCG/IDCG
CG(cumulative gain)
DCG(Discounted Cumulative Gain)
MAP(Mean Average Precision)
MRR(Mean Reciprocal Rank)

Usage: java -jar RankLib.jar <Params>
Params:
[+] Training (+ tuning and evaluation)
-train <file> 训练数据
-ranker <type> 指定要使用的排名算法
0: MART (gradient boosted regression tree)
1: RankNet
2: RankBoost
3: AdaRank
4: Coordinate Ascent
6: LambdaMART
7: ListNet
8: Random Forests
[ -feature <file> ] 特征描述文件:列出要学习的特征,如果不指定,默认使用所有特征。
[ -metric2t <metric> ] Metric to optimize on the training data. Supported: MAP, NDCG@k, DCG@k, P@k, RR@k, ERR@k (default=ERR@10)
[ -gmax <label> ] Highest judged relevance label. It affects the calculation of ERR (default=4, i.e. 5-point scale {0,1,2,3,4})
[ -silent ] Do not print progress messages (which are printed by default)
[ -validate <file> ] 是否在验证数据集上调整模型 Specify if you want to tune your system on the validation data (default=unspecified). If specified, the final model will be the one that performs best on the validation data
[ -tvs <x \in [0..1]> ] 训练-验证数据集的分割比例 Set train-validation split to be (x)(1.0-x)
[ -save <model> ] 学习的模型保存到指定文件 Save the learned model to the specified file (default=not-save)
[ -test <file> ] 是否要在数据上测试训练的模型 Specify if you want to evaluate the trained model on this data (default=unspecified)
[ -tts <x \in [0..1]> ] 训练-测试数据集的分割比例 Set train-test split to be (x)(1.0-x). -tts will override -tvs
[ -metric2T <metric> ] 默认与metric2t一样 Metric to evaluate on the test data (default to the same as specified for -metric2t)
[ -norm <method>] 归一化特征向量,方法包括求和归一化,均值/标准差归一化,最大值/最小值归一化 Normalize feature vectors (default=no-normalization). Method can be:
sum: normalize each feature by the sum of all its values
zscore: normalize each feature by its mean/standard deviation
linear: normalize each feature by its min/max values
[ -kcv <k> ] 在训练数据集上执行交叉验证 Specify if you want to perform k-fold cross validation using ONLY the specified training data (default=NoCV)
-tvs can be used to further reserve a portion of the training data in each fold for validation
[ -kcvmd <dir> ] 交叉验证训练模型的目录 Directory for models trained via cross-validation (default=not-save)
[ -kcvmn <model> ] Name for model learned in each fold. It will be prefix-ed with the fold-number (default=empty)
[-] RankNet-specific parameters RankNet特定参数
[ -epoch <T> ] 训练迭代次数 The number of epochs to train (default=100)
[ -layer <layer> ] 隐含层个数 The number of hidden layers (default=1)
[ -node <node> ] 每层隐含节点个数 The number of hidden nodes per layer (default=10)
[ -lr <rate> ] 学习率 Learning rate (default=0.00005)
[-] RankBoost-specific parameters RankBoost特定参数
[ -round <T> ] 训练迭代次数 The number of rounds to train (default=300)
[ -tc <k> ] 搜索的阈值候选个数 Number of threshold candidates to search. -1 to use all feature values (default=10)
[-] AdaRank-specific parameters AdaRank特定参数
[ -round <T> ] 训练迭代次数 The number of rounds to train (default=500)
[ -noeq ] Train without enqueuing too-strong features (default=unspecified)
[ -tolerance <t> ] 连续两轮学习之间的误差 Tolerance between two consecutive rounds of learning (default=0.002)
[ -max <times> ] 一个特征可以被连续选择而不改变性能的最大次数 The maximum number of times can a feature be consecutively selected without changing performance (default=5)
[-] Coordinate Ascent-specific parameters
[ -r <k> ] The number of random restarts (default=5)
[ -i <iteration> ] The number of iterations to search in each dimension (default=25)
[ -tolerance <t> ] Performance tolerance between two solutions (default=0.001)
[ -reg <slack> ] Regularization parameter (default=no-regularization)
[-] {MART, LambdaMART}-specific parameters LanbdaMART特定参数
[ -tree <t> ] 树的个数 Number of trees (default=1000)
[ -leaf <l> ] 每个树的叶子个数 Number of leaves for each tree (default=10)
[ -shrinkage <factor> ] 学习率 Shrinkage, or learning rate (default=0.1)
[ -tc <k> ] 树分割时的候选特征个数 Number of threshold candidates for tree spliting. -1 to use all feature values (default=256)
[ -mls <n> ] 一个叶子最少的样本个数 Min leaf support -- minimum #samples each leaf has to contain (default=1)
[ -estop <e> ] Stop early when no improvement is observed on validaton data in e consecutive rounds (default=100)
[-] Random Forests-specific parameters 随机森林特定参数
[ -bag <r> ] Number of bags (default=300)
[ -srate <r> ] Sub-sampling rate (default=1.0)子集采样率
[ -frate <r> ] Feature sampling rate (default=0.3) 特征采样率
[ -rtype <type> ] Ranker to bag (default=0, i.e. MART)
[ -tree <t> ] Number of trees in each bag (default=1) 树个数
[ -leaf <l> ] Number of leaves for each tree (default=100) 每个树的叶节点个数
[ -shrinkage <factor> ] Shrinkage, or learning rate (default=0.1) 学习率
[ -tc <k> ] 树分割时使用的候选特征阈值个数 Number of threshold candidates for tree spliting. -1 to use all feature values (default=256)
[ -mls <n> ] Min leaf support -- minimum #samples each leaf has to contain (default=1)
[ -estop <e> ] Stop early when no improvement is observed on validaton data in e consecutive rounds (default=100)
[+] Testing previously saved models 测试已经保存的模型
-load <model> 加载模型 The model to load
-test <file> 测试数据Test data to evaluate the model (specify either this or -rank but not both)
-rank <file> 对制定文件中的样本排序,与-test不能同时指定 Rank the samples in the specified file (specify either this or -test but not both)
[ -metric2T <metric> ] Metric to evaluate on the test data (default=ERR@10)
[ -gmax <label> ] Highest judged relevance label. It affects the calculation of ERR (default=4, i.e. 5-point scale {0,1,2,3,4})
[ -score <file> ] Store ranker's score for each object being ranked (has to be used with -rank)
[ -idv ] 打印单个排名列表上的性能(必须与-test一起使用) Print model performance (in test metric) on individual ranked lists (has to be used with -test)
[ -norm ] 特征归一化 Normalize feature vectors (similar to -norm for training/tuning)