4个版本
使用旧的Rust 2015
0.1.4 | 2019年3月5日 |
---|---|
0.1.3 | 2018年12月27日 |
0.1.2 | 2018年10月1日 |
0.1.1 | 2018年10月1日 |
#422 in 机器学习
2.5MB
48K SLoC
rust-xgboost
Rust语言对XGBoost梯度提升库的绑定。
基本用法示例
extern crate xgboost;
use xgboost::{parameters, dmatrix::DMatrix, booster::Booster};
fn main() {
// training matrix with 5 training examples and 3 features
let x_train = &[1.0, 1.0, 1.0,
1.0, 1.0, 0.0,
1.0, 1.0, 1.0,
0.0, 0.0, 0.0,
1.0, 1.0, 1.0];
let num_rows = 5;
let y_train = &[1.0, 1.0, 1.0, 0.0, 1.0];
// convert training data into XGBoost's matrix format
let mut dtrain = DMatrix::from_dense(x_train, num_rows).unwrap();
// set ground truth labels for the training matrix
dtrain.set_labels(y_train).unwrap();
// test matrix with 1 row
let x_test = &[0.7, 0.9, 0.6];
let num_rows = 1;
let y_test = &[1.0];
let mut dtest = DMatrix::from_dense(x_test, num_rows).unwrap();
dtest.set_labels(y_test).unwrap();
// build overall training parameters
let params = parameters::ParametersBuilder::default().build().unwrap();
// specify datasets to evaluate against during training
let evaluation_sets = &[(&dtrain, "train"), (&dtest, "test")];
// train model, and print evaluation data
let bst = Booster::train(¶ms, &dtrain, 3, evaluation_sets).unwrap();
println!("{:?}", bst.predict(&dtest).unwrap());
}
更多详细示例,请参阅示例目录。
状态
目前处于非常早期的发展阶段,因此API会随着可用性问题出现或新特性的支持而变化。
基于XGBoost 0.81构建。
平台
已测试
- Linux
- Mac OS
不支持
- Windows
依赖项
~4–15MB
~207K SLoC