用于分析和评估基于回归树集合的学习排序模型的工具。

rankeval的Python项目详细描述


rankeval:学习排列解决方案的评估和分析框架

rankeval是一个开源工具,用于分析和评估 学习基于回归树集合的模型排序。这个 回归树群落的成功促进了 以学习阶段的效率为目标的几个开源库 以及由此产生的模型的有效性。但是,这些库提供 只有非常有限的帮助调整和评估训练模型。

兰克瓦尔的目标是为几个学习排名的人提供一个共同的基础 通过提供有用且可互操作的工具 排名模型的比较与深入分析。目标受众是 机器学习(ml)和信息检索(ir)社区。

Rankeval在Mozilla Public License 2.0下可用。

github的官方存储库是:here

有关如何改进Rankeval的问题/建议,请发送电子邮件给我们: rankeval@isti.cnr.it

功能

<> Pr.RekEvE提供了几种预先存在的工具和提议之间的共同点。 支持在 统一环境,便于全面比较和深入分析 分析。

rankeval的主要功能可以概括为五个方面:

  • 有效性分析
  • 特征分析
  • 结构分析
  • 拓扑分析
  • gbrt库之间的互操作性
    • 支持最流行的学习工具的模型格式,如 quickrank、ranklib、xgboost、lightgbm、scikit learn等

这些功能可以同时应用于多个模型,因此 直接比较分析结果。工具已经写好了 确保^ {STR 1 } $灵活性,^ {STR 1 }扩展性< /强>,^ {STR 1 } $效率。

文档

官方的api文档可以在:here找到。 很快就准备好了!

安装

该库与openmp一起工作,因此您需要一个支持它的编译器。 如果您的机器使用与gnu gcc不同的默认编译器,请更改它 在继续安装之前请注意:

export CC=gcc-5
export CXX=g++-5

此外,rankeval需要在 安装过程开始:

  • numpy=1.13
  • scipy=0.14
  • cython=0.25
  • matplotlib>;=2.0.2

rankeval可以从python包索引(pypi)轻松安装。 您可以通过运行以下命令下载并安装:

pip install rankeval

或者,可以从源代码构建库。 下面是一个安装示例。

python setup.py install

pip install -e .

开发

安装开发所需的库(文档生成和单元测试):

pip install -e .[develop]

编译库的本地安装:

python setup.py build_ext -i

单元测试的执行:

python setup.py test

或者(如果您已经安装了鼻子):

nosetests -v

引用rankeval

如果你用兰克瓦尔,请引证我们!

@inproceedings{rankeval-sigir17,
  author = {Claudio Lucchese and Cristina Ioana Muntean and Franco Maria Nardini and
            Raffaele Perego and Salvatore Trani},
  title = {RankEval: An Evaluation and Analysis Framework for Learning-to-Rank Solutions},
  booktitle = {SIGIR 2017: Proceedings of the 40th International {ACM} {SIGIR}
               Conference on Research and Development in Information Retrieval},
  year = {2017},
  location = {Tokyo, Japan}
}

学分

- Dataset loader: https://github.com/deronnek/svmlight-loader
- Query id implementation: https://github.com/mblondel/svmlight-loader/pull/6

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java允许具有不同父类的类扩展类,而无需多重继承   java如何创建动态化的JScrollPane w/JPanel作为客户端?   java如何组织和命名包   在Java中读取属性文件   java无法解释的Android意图行为   在Java中动态执行多个BPEL文件的部署   ssl Java 6 SNI(服务器名称指示)?   java我们可以使用Robot框架自动化web和移动应用程序来执行并行执行   java for star pettern的循环   java为什么BinaryReader在线程中,从netty读取错误的数据包?   在java中将华氏度转换为摄氏度   使用Spark和java处理空值和引号编写CSV文件   Java中已排序日期到块的列表   visual studio代码VSCode Java不是linting或自动完成局部变量,而是自动完成Java快捷方式,如“sysout”