6 个版本
0.2.4 | 2023 年 12 月 6 日 |
---|---|
0.2.3 | 2023 年 12 月 6 日 |
0.1.0 | 2023 年 8 月 30 日 |
#194 in 机器学习
每月 25 次下载
3MB
1.5K SLoC
Rustrees:具有 Python 绑定的 Rust 中的决策树和随机森林
概述
Rustrees 是一个用 Rust 编写的、具有 Python 绑定的高效决策树和随机森林库。它的目标是提供与 Sklearn 相当的速度,同时具有 Rust 的可靠性和性能。
功能
- 🏎️ 速度:平均与 Sklearn 一样快。
- 🔗 Python 绑定:轻松与 Python 集成。
- 🔒 类型安全:从 Rust 的强大类型系统受益。
Python
安装
pip install rustrees
快速开始
from sklearn.metrics import accuracy_score
from sklearn import datasets
import rustrees.decision_tree as rt_dt
df = datasets.load_breast_cancer()
model = rt_dt.DecisionTreeClassifier(max_depth=5).fit(df["data"], df["target"])
acc = accuracy_score(df["target"], model.predict(df["data"]))
print("accuracy", acc)
Rust
安装
cargo add rustrees
快速开始
use rustrees::{DecisionTree, Dataset, r2};
let dataset = Dataset::read_csv("iris.csv", ",");
let dt = DecisionTree::train_reg(
&dataset,
5, // max_depth
Some(1), // min_samples_leaf
Some(42), // random_state
);
let pred = dt.predict(&dataset);
println!("r2 score: {}", r2(&dataset.target_vector, &pred));
开发
首先,创建一个虚拟环境(只需要做一次)
python -m venv .env
然后,激活虚拟环境(每次都需要做)
source .env/bin/activate
现在,安装需求(只需要做一次)
pip install -r requirements.txt
最后,使用以下命令在本地虚拟环境中安装 Python 库(每次更改 Rust 代码时都需要做)
maturin develop --release
现在,您可以在 Python 中导入 rustrees
库。这也可以从 Jupyter 笔记本中完成。为此,运行以下命令
jupyter notebook
然后,在笔记本中导入库
import rustrees.decision_tree as rt_dt
依赖关系
~17–25MB
~356K SLoC