用于多标签分类中标签效用一致优化的小型库
项目描述
x 多标签分类中标签效用一致优化
xCOLUMNs是一个小型Python库,旨在实现可以定义在多标签分类矩阵上的通用指标族的不同优化方法。这包括但不限于标签指标。该库提供了一种高效的优化方法实现,可以轻松扩展到极端多标签分类(XMLC)问题 - 具有大量标签和实例的问题。
所有方法都基于标签的条件概率估计进行操作,这些估计是多标签分类模型的输出。基于这些估计,方法旨在为给定的测试集找到最优预测,或者找到作为条件概率估计器之上的插件规则的最优群体分类器。这使得库非常灵活,可以与任何提供条件概率估计的多标签分类模型一起使用。库直接支持numpy数组、PyTorch张量和scipy中的稀疏CSR矩阵作为输入/输出数据类型。
有关更多详细信息,请参阅我们的简短使用指南、文档和/或描述库中实现的方法的论文。
快速入门
安装
可以使用pip安装此库
pip install xcolumns
它应该在所有主要平台(Linux、macOS、Windows)上以及Python 3.8+上工作。
用法
我们在short_usage_guide.ipynb笔记本中提供了库的简短使用指南。您还可以查看文档以获取更多详细信息。
方法、用法和引用方式
库实现了以下方法
实例加权预测
库实现了一系列实例加权预测方法,包括针对不同度量标准的最佳预测策略,例如
- k上的精确度
- k上的倾向评分精确度
- k上的宏平均召回率
- k上的宏平均平衡精度
- 以及其他...
使用块坐标上升/下降(BCA/BCD)优化给定测试集的预测
该方法旨在使用块坐标上升/下降算法优化给定测试集的预测。
该方法最初在论文中介绍和描述:
通过Frank-Wolfe(FW)找到最优群体分类器
该方法最初在论文中介绍和描述:
存储库结构
存储库组织如下
docs/
- Sphinx文档(正在进行中)experiments/
- 从论文中重现实验的代码,有关详细信息,请参阅目录中的README.md文件xcolumns/
- 包含库的Python包tests/
- 库的测试(目前覆盖范围有限,但这些测试应保证库的主要组件按预期工作)
开发和贡献
该库是我们研究项目的一部分。我们很高兴与社区分享它,并希望有人会发现它有用。如果您有任何问题或建议,或者发现了一个错误,请提交问题。我们还很高兴接受以拉取请求形式提供的贡献。