mljar / mljar-supervised

Python package for AutoML on Tabular Data with Feature Engineering, Hyper-Parameters Tuning, Explanations and Automatic Documentation
https://mljar.com
MIT License
3.05k stars 406 forks source link

How to activate hill_climbing when mode='Perform' #314

Closed RafaD5 closed 3 years ago

RafaD5 commented 3 years ago

Hi! I have run the AutoML class with two different datasets with mode="Perform" but I always get:

Skip hill_climbing_1 because no parameters were generated.
Skip hill_climbing_2 because no parameters were generated.

I tried changing some parameters like top_models_to_improve and hill_climbing_steps but it still didn't work. When I use mode="Compete" the hill_climbing steps do execute.

How can I get the hill_climbing steps to run in Perform mode?

pplonski commented 3 years ago

Do you have enough time for training? Is the total_time_limit the same as in Compete?

RafaD5 commented 3 years ago

Yes, it's the same time. In one case I used total_time_limit=60*60*16 with mode='Perform' and it only run for about 7 hours and still gave me the message:

Skip hill_climbing_1 because no parameters were generated.
Skip hill_climbing_2 because no parameters were generated.
pplonski commented 3 years ago

Looks like a bug in Perform mode. Thank you for reporting.

BTW, @RafaD5 do you get good models with MLJAR?

pplonski commented 3 years ago

OK, I found the reason. The hill-climbing algorithm was crushing for the Linear algorithm because it hasn't any parameters to be tuned. It is fixed now. Changes are pushed to the dev branch. They will go to the 0.9.0 version.

RafaD5 commented 3 years ago

@pplonski thank you for being so quick with the fixes! I'm happy with the models so far. I've been using the library for 5 days so I'm still exploring and understanding it. One thing I like a lot is that the library is very transparent. It's easy to know wich models are being trained, where they are saved and what's happening at every step of the training.