#machine-learning #reduction #cli

应用 reductionml-cli

基于减少的机器学习工具包CLI

2个不稳定版本

0.1.0 2023年7月11日
0.0.1 2023年6月27日

#642 in 机器学习

MIT许可证

245KB
6K SLoC

📚 ReductionML

免责声明:ReductionML是我个人的项目和实验。ReductionML是一个实验,非常处于进行中。这是探索我自己的设计想法的机会。事情非常粗糙,我肯定会有很多变化。

ReductionML是一个机器学习框架,解决了各种问题。它围绕通过将问题分解为更易管理的已解决组件来简化问题的概念。这个过程通过减少将一个问题减少到另一个问题来实现。这种方法受到了我高度重视并深受其价值的VowpalWabbit项目的启发。实际上,如果你熟悉VowpalWabbit,你应该能够轻松地掌握ReductionML。

组件

组件
reductionml-core Crates.io
reductionml-cli Crates.io

入门

安装reml工具

cargo install reductionml-cli

CLI补全有内置支持。要启用它们,运行以下命令

Bash(可选)

reml gen-completions bash > /usr/share/bash-completion/completions/reml

Fish(可选)

reml gen-completions fish > ~/.config/fish/completions/reml.fish

第一步

以下将获取一个小型的100个示例数据集,以VW文本格式。然后,它将为Coin减少创建一个新的配置文件,使用默认值。最后,它将使用配置文件和数据集训练一个模型。训练运行将使用均方误差指标进行评估。

curl https://raw.githubusercontent.com/VowpalWabbit/vowpal_wabbit/master/test/test-sets/0001.dat > rcv1_small.vwtxt
reml config new Coin > config.json
reml train --config config.json --data rcv1_small.vwtxt --metrics mse

输出

warning: This CLI tool is not stable
info: Reading data file: rcv1_small.vwtxt
info: Using entry reduction: Coin
+-----------------------------+
| Example #  MeanSquaredError |
+=============================+
| 0          0                |
| 1          0.5              |
| 2          0.33609757       |
| 4          0.20314142       |
| 8          0.11399492       |
| 16         0.19589658       |
| 32         0.14362814       |
| 64         0.15037861       |
| 100        0.13510321       |
+-----------------------------+

依赖关系

~9–18MB
~222K SLoC