Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Rust bindings for LightGBM

License

NotificationsYou must be signed in to change notification settings

Mottl/lightgbm3-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crates.ioDocs.rsbuild

lightgbm3 is based onlightgbm crate(which is unsupported by now), but it is not back-compatible with it.

Installation

cargo add lightgbm3

Sincelightgbm3 compilesLightGBM from source, you also need to install development libraries:

for Linux:

apt install -y cmake clang libclang-dev libc++-dev gcc-multilib

for Mac:

brew install cmakebrew install libomp # only required if you compile with "openmp" feature

for Windows

  1. Install CMake and VS Build Tools.
  2. Install LLVM and setLIBCLANG_PATH environment variable (i.e.C:\Program Files\LLVM\bin)

Please see below for details.

Usage

Training:

use lightgbm3::{Dataset,Booster};use serde_json::json;let features =vec![vec![1.0,0.1,0.2],                    vec![0.7,0.4,0.5],                    vec![0.9,0.8,0.5],                    vec![0.2,0.2,0.8],                    vec![0.1,0.7,1.0]];let labels =vec![0.0,0.0,0.0,1.0,1.0];let dataset =Dataset::from_vec_of_vec(features, labels,true).unwrap();let params =json!{{"num_iterations":10,"objective":"binary","metric":"auc",}};let bst =Booster::train(dataset,&params).unwrap();bst.save_file("path/to/model.lgb").unwrap();

Inference:

use lightgbm3::{Dataset,Booster};let bst =Booster::from_file("path/to/model.lgb").unwrap();let features =vec![1.0,2.0, -5.0];let n_features = features.len();let y_pred = bst.predict_with_params(&features, n_featuresasi32,true,"num_threads=1").unwrap()[0];

Look in the./examples/ folder for more details:

Features

lightgbm3 supports the following features:

Benchmarks

cargo bench

Add--features=openmp,--features=gpu and--features=cuda appropriately.

Development

git clone --recursive https://github.com/Mottl/lightgbm3-rs.git

Thanks

Great respect tovaaaaanquish for the LightGBM Rust package, which unfortunatelyno longer supported.

Much reference was made to implementation and documentation. Thanks.

About

Rust bindings for LightGBM

Resources

License

Stars

Watchers

Forks

Sponsor this project

    Packages

    No packages published

    Contributors5


    [8]ページ先頭

    ©2009-2025 Movatter.jp