code: def housing_data_categorical(housing_data):
      train_df, test_df, target_feature = housing_data
      train_df = copy.deepcopy(train_df)
      test_df = copy.deepcopy(test_df)
  
      for df in [train_df, test_df]:
          cat_map = [
              (0, "newest"),
              (15, "new"),
              (25, "mid"),
              (35, "old"),
              (45, "very-old"),
          ]
          df["HouseAge_CAT"] = _discretize_feature(
              df["HouseAge"], cat_map
          )
          cat_map = [(0, "small"), (4, "large")]
          df["AveRooms_CAT"] = _discretize_feature(
              df["AveRooms"], cat_map
          )
          cat_map = [
              (0, "low"),
              (300, "mid-low"),
              (500, "mid"),
              (1000, "high"),
              (1000, "very-high"),
              (10000, "highest"),
          ]
          df["Population_CAT"] = _discretize_feature(
              df["Population"], cat_map
          )
          cat_map = [(0, "low"), (2, "high")]
          df["AveOccup_CAT"] = _discretize_feature(
              df["AveOccup"], cat_map
          )
  
      return train_df, test_df, target_feature
  
file_path: responsible-ai-toolbox/responsibleai/tests/causal/conftest.py
imports: import copy
  from typing import List, Tuple
  import numpy
  import pandas
  import pytest
  import shap
  from sklearn.model_selection import train_test_split
  from tests.common_utils import create_adult_income_dataset
  from rai_test_utils.datasets.tabular import create_housing_data
label_desc: Use image node_id 4 for calling a global function with example usage: housing_data_categorical(housing_data) and returns: train_df,  test_df,  target_feature