Hi!
I have developped a ML workflow using MLJ with some data preparation, feature engineer, cross-val and tuning (evaluate!
function). Up to now, I used LightGBM (it worked fine), but since I have categorical variables, I wanted to test the performance with CatBoost.
I have an issue when using it. Despite having added Catboost and imported it, I keep having this message when the evaluation of the models starts.
Evaluating over 81 metamodels: 1%[> ] ETA: 0:13:12┌ Error: Problem fitting the machine machine(DeterministicTunedModel(model = CatBoostRegressor(iterations = 1000, …), …), …).
└ @ MLJBase ~/.julia/packages/MLJBase/7nGJF/src/machines.jl:694
[ Info: Running type checks...
[ Info: Type checks okay.
ERROR: UndefVarError: `fit` not defined in `CatBoost.MLJCatBoostInterface`
Suggestion: check for spelling errors or missing imports.
Hint: a global variable of this name also exists in StatsBase.
Hint: a global variable of this name may be made accessible by importing Distributions in the current active module Main
Hint: a global variable of this name may be made accessible by importing GLM in the current active module Main
Hint: a global variable of this name may be made accessible by importing MLJModelInterface in the current active module Main
Hint: a global variable of this name may be made accessible by importing MLJBase in the current active module Main
Stacktrace:
[1] update(mlj_model::CatBoost.MLJCatBoostInterface.CatBoostRegressor, verbosity::Int64, fitresult::PythonCall.Core.Py, cache::@NamedTuple{…}, data_pool::PythonCall.Core.Py)
@ CatBoost.MLJCatBoostInterface ~/.julia/packages/CatBoost/8tf8r/src/MLJCatBoostInterface.jl:153
[2] fit_only!(mach::MLJBase.Machine{…}; rows::Vector{…}, verbosity::Int64, force::Bool, composite::Nothing)
@ MLJBase ~/.julia/packages/MLJBase/7nGJF/src/machines.jl:716
[3] fit_only!
@ ~/.julia/packages/MLJBase/7nGJF/src/machines.jl:617 [inlined]
...
Any recommendation to solve it?
Thx