def METHOD_NAME(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