Metric Learning to Rank
This page contains the source code for the implementation of the Metric Learning to Rank (MLR) algorithm as described
in the paper cited below. The algorithm is an extension of Structural SVM which learns a linear
transformation of a feature space to optimize ranking loss functions. (Note: the algorithm is based on
SVMstruct, but the implementations are independent.)
If you have any questions or comments, feel free to email the author at bmcfee@cs.ucsd.edu, or post to the ICML discussion forum for the paper.
Code
MLR requires MATLAB version R2007a or newer. Installation instructions are provided in the README.- mlr on github (development branch)
- mlr-1.0.tar.gz (README, md5)
eHarmony data
This data set was provided by eHarmony, Inc. The data consists of pairs of individuals, which either matched (positive example) or did not (negative example). The data is partitioned into two subsets corresponding to two equal-length segments of time. The data is stored in CSV files, organized as follows.- EH-*-data.csv.gz: each row describes an individual. The first column is an identification number for that individual, and all subsequent columns contain the (numeric) feature values.
- EH-*-labels.csv.gz: each row describes a pairwise interaction. The first column indicates whether the interaction is positive (1) or negative (0). The second and third columns contain identification numbers for the corresponding individuals.
Download
References
If you use either the code or the eHarmony data, please cite the following paper:McFee, B. and Lanckriet, G.R.G. Metric Learning to Rank. Twenty-seventh International Conference on Machine Learning (ICML), 2010. [bib]