How to find optimal parameters for CatBoost using GridSearchCV for Regression

In [1]:
def Snippet_199(): 
    print()
    print(format('How to find optimal parameters for CatBoost using GridSearchCV for Regression','*^82'))    
    
    import warnings
    warnings.filterwarnings("ignore")
    
    # load libraries
    from sklearn import datasets
    from sklearn.model_selection import train_test_split
    from sklearn.model_selection import GridSearchCV
    from catboost import CatBoostRegressor

    # load the iris datasets
    dataset = datasets.load_boston()
    X = dataset.data; y = dataset.target
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25)

    model = CatBoostRegressor()
    parameters = {'depth'         : [6,8,10],
                  'learning_rate' : [0.01, 0.05, 0.1],
                  'iterations'    : [30, 50, 100]
                 }
    grid = GridSearchCV(estimator=model, param_grid = parameters, cv = 2, n_jobs=-1)
    grid.fit(X_train, y_train)    

    # Results from Grid Search
    print("\n========================================================")
    print(" Results from Grid Search " )
    print("========================================================")    
    
    print("\n The best estimator across ALL searched params:\n",
          grid.best_estimator_)
    
    print("\n The best score across ALL searched params:\n",
          grid.best_score_)
    
    print("\n The best parameters across ALL searched params:\n",
          grid.best_params_)
    
    print("\n ========================================================")
Snippet_199()
**How to find optimal parameters for CatBoost using GridSearchCV for Regression***
/Users/nilimesh/anaconda3/lib/python3.6/site-packages/sklearn/model_selection/_search.py:841: DeprecationWarning: The default of the `iid` parameter will change from True to False in version 0.22 and will be removed in 0.24. This will change numeric results when test-set sizes are unequal.
  DeprecationWarning)
0:	learn: 24.4880891	total: 80.2ms	remaining: 2.33s
1:	learn: 24.3032911	total: 106ms	remaining: 1.49s
2:	learn: 24.0981212	total: 108ms	remaining: 968ms
3:	learn: 23.8856272	total: 109ms	remaining: 708ms
4:	learn: 23.7258461	total: 132ms	remaining: 660ms
5:	learn: 23.5389973	total: 137ms	remaining: 549ms
6:	learn: 23.3778819	total: 166ms	remaining: 546ms
7:	learn: 23.1857522	total: 167ms	remaining: 461ms
8:	learn: 22.9917032	total: 169ms	remaining: 394ms
9:	learn: 22.8325898	total: 196ms	remaining: 392ms
10:	learn: 22.6763263	total: 223ms	remaining: 385ms
11:	learn: 22.5062911	total: 249ms	remaining: 373ms
12:	learn: 22.3421604	total: 273ms	remaining: 357ms
13:	learn: 22.1867580	total: 303ms	remaining: 347ms
14:	learn: 22.0222892	total: 329ms	remaining: 329ms
15:	learn: 21.8572079	total: 355ms	remaining: 311ms
16:	learn: 21.7088173	total: 381ms	remaining: 292ms
17:	learn: 21.5460847	total: 408ms	remaining: 272ms
18:	learn: 21.3820812	total: 433ms	remaining: 251ms
19:	learn: 21.2236921	total: 459ms	remaining: 229ms
20:	learn: 21.0771958	total: 486ms	remaining: 208ms
21:	learn: 20.9106885	total: 488ms	remaining: 178ms
22:	learn: 20.7355350	total: 491ms	remaining: 149ms
23:	learn: 20.5732689	total: 498ms	remaining: 125ms
24:	learn: 20.4311501	total: 527ms	remaining: 105ms
25:	learn: 20.2760728	total: 554ms	remaining: 85.2ms
26:	learn: 20.1344087	total: 581ms	remaining: 64.6ms
27:	learn: 20.0038326	total: 608ms	remaining: 43.5ms
28:	learn: 19.8496346	total: 635ms	remaining: 21.9ms
29:	learn: 19.7041228	total: 660ms	remaining: 0us

========================================================
 Results from Grid Search 
========================================================

 The best estimator across ALL searched params:
 <catboost.core.CatBoostRegressor object at 0x1a1ffb8d30>

 The best score across ALL searched params:
 20.18877649489355

 The best parameters across ALL searched params:
 {'depth': 10, 'iterations': 30, 'learning_rate': 0.01}

 ========================================================
In [ ]: