amazon-web-servicesamazon-sagemakercatboost

How do I find optimal learning rate in Sagemaker Catboost training?


In Sagemaker, the out-of-the-box catboost model uses a default learning rate of 0.03. On my local set up (catboost 1.2), the learning rate is calculated automatically based on data characteristics.

Is there a way to set the learning rate automatically in Sagemaker as well, or to calculate the rate beforehand and input it as a parameter?

I understand I can make my own catboost installation via Docker, but I am wondering if this can be solved with the default Sagemaker model.


Solution

  • I found no way of finding the optimal learning_rate using Sagemaker out-of-the-box catboost model, which is a shame.

    There are two alternative ways:

    1. Setting up a Docker container on SageMaker with own catboost image, for example using this tutorial
    2. Running a local job: in case the data fits into RAM and cb.fit() does not error out, optimal learning_rate is one of the first information outputted by the algorithm. It can then be inputted manually into Sagemaker out-of-the-box model.