[Tribuo](https://tribuo.org) 是一个在 Java 中的 机器学习 库,提供多类分类、回归、聚类、异常检测和多标签分类。Tribuo 提供了流行的 ML 算法的实现,还包装了其他库,以提供统一的接口。Tribuo 包含了加载、特征化和转换数据所需的所有代码。此外,它还包含了所有支持的预测类型的评估类。开发工作由 [Oracle Labs](https://labs.oracle.com) 的机器学习研究组负责;我们欢迎社区的贡献。
所有训练器都可以使用 [OLCUT](https://github.com/oracle/olcut) 配置系统进行配置。这使得用户可以在 xml 或 json 文件中定义训练器,并可重复地构建模型。每个提供的训练器的示例配置都可以在各个包的 config 文件夹中找到。这些配置文件还可以使用相应的 OLCUT 配置依赖来以 json 或 edn 格式写入。模型和数据集可以使用 Java 序列化进行序列化。
所有模型和评估都包含一个可序列化的来源对象,该对象记录了模型或评估的创建时间、数据的身份以及对其应用的任何转换,以及训练器的超参数。对于评估而言,此来源信息还包括所使用的特定模型。可以通过 JSON 或直接使用 Java 序列化来提取来源信息。对于生产部署,可以对来源信息进行编辑并用哈希代替,以通过外部系统进行模型跟踪。 许多 Tribuo 模型可以以 ONNX 格式导出,以便在其他语言、平台或云服务中部署。
Tribuo 运行在 Java 8+ 版本上,我们测试了 LTS 版本的 Java 以及最新版本。 Tribuo 本身是一个纯 Java 库,可在所有 Java 平台上运行; 但是,我们的一些接口需要原生代码,因此只在支持原生库的地方才能支持。我们在 Windows 10、macOS 和 Linux 上测试了 x86_64 架构。