code: def test_catboost_regressor_learner():
      df_train = pd.DataFrame(
          {
              "id": ["id1", "id2", "id3", "id4"],
              "x1": [10.0, 13.0, 10.0, 13.0],
              "x2": [0, 1, 1, 0],
              "w": [2, 1, 2, 0.5],
              "y": [2.3, 4.0, 100.0, -3.9],
          }
      )
  
      df_test = pd.DataFrame(
          {
              "id": ["id4", "id4", "id5", "id6"],
              "x1": [12.0, 1000.0, -4.0, 0.0],
              "x2": [1, 1, 0, 1],
              "w": [1, 2, 0, 0.5],
              "y": [1.3, -4.0, 0.0, 49],
          }
      )
  
      features = ["x1", "x2"]
  
      learner = catboost_regressor_learner(
          features=features,
          target="y",
          learning_rate=0.1,
          num_estimators=20,
          extra_params={"max_depth": 2, "random_seed": 42},
          prediction_column="prediction",
          weight_column="w",
      )
  
      predict_fn, pred_train, log = learner(df_train)
  
      pred_test = predict_fn(df_test)
  
      expected_col_train = df_train.columns.tolist() + ["prediction"]
      expected_col_test = df_test.columns.tolist() + ["prediction"]
  
      assert Counter(expected_col_train) == Counter(
          pred_train.columns.tolist()
      )
      assert Counter(expected_col_test) == Counter(
          pred_test.columns.tolist()
      )
      assert (pred_test.columns == pred_train.columns).all()
      assert "prediction" in pred_test.columns
  
      # SHAP test
      pred_shap = predict_fn(df_test, apply_shap=True)
      assert "shap_values" in pred_shap.columns
      assert "shap_expected_value" in pred_shap.columns
      assert np.vstack(pred_shap["shap_values"]).shape == (4, 2)
  
file_path: fklearn/tests/training/test_regression.py
imports: from collections import Counter
  import numpy
  import pandas
  from fklearn.training.regression import linear_regression_learner, gp_regression_learner, xgb_regression_learner, lgbm_regression_learner, catboost_regressor_learner, custom_supervised_model_learner, elasticnet_regression_learner
label_desc: Use image node_id 6 for calling a global function with example usage: test_catboost_regressor_learner() without return types