My most frequently used learning-to-rank algorithms ported to rust for efficiency. Try it: "pip install fastrank".
We revamped how CI scripts work and upgraded Maturin in order to get "Apple Silicon" support.
Full Changelog: https://github.com/jjfiv/fastrank/compare/0.7.0...0.8.0
predict_scores
that returns a sparse representation of Dict[int, float]
where the position in the arrays you've loaded correspond to the score.predict_dense_scores
which returns a List[float]
with the same semantics. If you have subsampled queries, this may make less sense than the aforementioned method.Rather than require the arbitrary libc etc. from the gh-actions publish, align with manylinux2010. Fixed some documentation nits along the way.
Updates in 0.6.0 are:
FastRank
is an implementation of CoordinateAscent
[1] from Ranklib that you can pip install; written in Rust and uses threads for efficiency; it will scale much better than the Java version to large datasets and many features.
It also has RandomForests
, and someday LambdaMART
(others depending on interest). I've been thinking a lot about what the limits of coordinate ascent are (linearity), and will probably play with that in future versions.
This is ready for production use in the sense that I used it for my TREC submission this year. The python API could use some thoughts and experiences (post issues on Github).
pip install fastrank
[1] Metzler, D., & Croft, W. B. (2007). Linear feature-based models for information retrieval. Information Retrieval, 10(3), 257-274.