Skip to content

Latest commit

 

History

History
44 lines (31 loc) · 1.53 KB

python.md

File metadata and controls

44 lines (31 loc) · 1.53 KB

Python Bindings

The Python bindings build from source. The treeboost module exposes:

Area Classes
Models GBDTConfig, GBDTModel, MonotonicConstraint
Tuning AutoTuner, TunerConfig, ParameterSpace, ParamBounds, TuningMode, OptimizationMetric, TaskType, ModelFormat, GridStrategy, EvalStrategy, TrialResult, SearchHistory
Data DatasetLoader, BinnedDataset, FeatureInfo, FeatureType, DataPipeline, PipelineConfig, PipelineState, HoldoutSplit, KFoldSplit
Encoding OrderedTargetEncoder, EncodingMap, CountMinSketch, CategoryFilter, CategoryMapping
Losses MseLoss, PseudoHuberLoss, BinaryLogLoss, MultiClassLogLoss
Prediction Prediction, ConformalPredictor

AutoModel and UniversalModel are Rust only.

Build

Install maturin and build the python feature from the repository root:

pip install maturin
maturin develop --release --features python

Example

import numpy as np
from treeboost import GBDTConfig, GBDTModel

X = np.random.randn(10000, 20).astype(np.float32)
y = (X[:, 0] + X[:, 1] * 2 + np.random.randn(10000) * 0.1).astype(np.float32)

config = GBDTConfig()
config.num_rounds = 100
config.max_depth = 6
config.learning_rate = 0.1

model = GBDTModel.train(X, y, config)

GBDTModel.train also accepts feature_names and output_dir. Pass output_dir to write model.rkyv and config.json to that directory.

See API.md for the full GBDTConfig and GBDTModel reference.