# Model options for numeric and categorical

**URL:** <https://discourse.julialang.org/t/model-options-for-numeric-and-categorical/89872>\
**Category:** Machine Learning\
**Created:** [November 7, 2022, 11:34am UTC](https://discourse.julialang.org/t/model-options-for-numeric-and-categorical/89872 "2022-11-07T11:34:58Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Billpete002](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/billpete002/32/35091_2.png) [@Billpete002](https://discourse.julialang.org/u/Billpete002)\
**Post date:** [November 7, 2022, 11:34am UTC](https://discourse.julialang.org/t/model-options-for-numeric-and-categorical/89872/1 "2022-11-07T11:34:59Z")

</div>

Hi All,

I am wondering if there is something similar in Julia to Python’s Catboost, i.e. a gradient boosted determinant model that allows for categorical and numeric data?

I found a Catboost.jl package, but it is reliant on mini-conda and my virtual environment won’t allow for this - and I would like a 100% Julia solution. I was also interested in any learning to rank (LTR) models such as LightGBM ranker - julia has a LightGBM but they haven’t imported the ranking feature for some reason?

The one package that got close to this is JLBoost.jl but is deprecated 😕

I would be open to hearing about other packages / models that could achieve these as well.

> **[How Do Gradient Boosting Algorithms Handle Categorical Variables?](https://blog.dataiku.com/how-do-gradient-boosting-algorithms-handle-categorical-variables)**
>
> This blog post takes a closer look at the way categorical variables are handled by LightGBM and CatBoost.

---

<div class="post-metadata">

**Author:** ![ablaom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ablaom/32/4889_2.png) [@ablaom](https://discourse.julialang.org/u/ablaom)\
**Post date:** [November 8, 2022, 1:34am UTC](https://discourse.julialang.org/t/model-options-for-numeric-and-categorical/89872/2 "2022-11-08T01:34:14Z")

</div>

[EvoTrees.jl](https://github.com/Evovest/EvoTrees.jl) is an actively maintained gradient tree boosting package that is 100% Julia. I’m not sure if there is support for categorical variables, however. If you don’t mind one hot encoding these, you can combine EvoTrees models with `OneHotEncoder` or `ContinuousEncoder` in an [MLJ](https://alan-turing-institute.github.io/MLJ.jl/dev/) pipeline, as EvoTrees.jl models have an MLJ interface.

If you have experience in machine learning and are coming from another platform, you man find [MLJ for Data Scientists in Two Hours](https://juliaai.github.io/DataScienceTutorials.jl/end-to-end/telco/) a good starting point. _Disclaimer:_ I am the lead developer of MLJ.

There is also LightGBM.jl and XGBoost.jl, which are C-wrappers.
