slim-trees
slim-trees copied to clipboard
Pickle your ML models more efficiently for deployment π
Iβll use this to brain dump a few ideas. Maybe some of them are useful.
initial try for a parquet compression implementation **this is a draft!** core idea: - create dataframe / table-like structure from tree information - encode with a custom pyarrow schema -...
first try at evaluating the string without the use of large regex matching, initial result do not seem to be faster, but I have some other ideas on how to...
- [ ] Create more informative and cleaner plots for benchmarking - [ ] include dark/night mode versions with `` or ``
As stated in #23, it would be nice to test our core logic (dtype conversions, leaf/non-leaf optimizations, ...) using [Hypothesis](https://hypothesis.readthedocs.io/en/latest/).
In [`gbdt_model_text.cpp` `GBDT::LoadModelFromString`](https://github.com/microsoft/LightGBM/blob/90a4510c78ecae63c087e076383e57ebfdfc9796/src/boosting/gbdt_model_text.cpp#L421) we can see how a model string should look like in LGBM. When looking into [`tree.cpp` `Tree::Tree`](https://github.com/microsoft/LightGBM/blob/90a4510c78ecae63c087e076383e57ebfdfc9796/src/io/tree.cpp#L808-L861), we can see that there are linear trees as well...
# Explicit dependencies |Dependency[^1]|Before|After|Change|Environments| |-|-|-|-|-| |**numpy**|1.26.4|2.0.0|Major Upgrade|{default, py310, py311, py312, py39, skl14, skl15} on *all platforms*| |**hatchling**|1.24.2|1.25.0|Minor Upgrade|{default, lgbm32, lgbm33, lgbm40, lgbm41, lgbm42, lgbm43, py310, py311, py312, py38, py39, skl11,...