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 机器学习

MIT 许可证

2.5MB
48K SLoC

CUDA 20K SLoC // 0.2% comments C++ 19K SLoC // 0.1% comments Python 5K SLoC // 0.2% comments Rust 2K SLoC // 0.0% comments Java 802 SLoC // 0.2% comments Shell 591 SLoC // 0.2% comments R 166 SLoC // 0.2% comments Visual Studio Project 164 SLoC Bitbake 53 SLoC // 0.6% comments Visual Studio Solution 53 SLoC Groovy 37 SLoC // 0.1% comments JavaScript 18 SLoC Jupyter Notebooks 10 SLoC // 0.3% comments Batch 3 SLoC

rust-xgboost

Travis Build Status Documentation link

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(&params, &dtrain, 3, evaluation_sets).unwrap();

    println!("{:?}", bst.predict(&dtest).unwrap());
}

更多详细示例,请参阅示例目录

状态

目前处于非常早期的发展阶段,因此API会随着可用性问题出现或新特性的支持而变化。

基于XGBoost 0.81构建。

平台

已测试

  • Linux
  • Mac OS

不支持

  • Windows

依赖项

~4–15MB
~207K SLoC