docstr: Unit test check_consistency_model_features 5
code: def test_check_consistency_model_features_5(self):
      """
      Unit test check_consistency_model_features 5
      """
      train = pd.DataFrame(
          {
              "city": ["chicago", "paris"],
              "state": ["US", "FR"],
              "other": [5, 10],
          },
          index=["index1", "index2"],
      )
  
      features_dict = None
      columns_dict = {
          i: features for i, features in enumerate(train.columns)
      }
      features_types = {
          features: str(train[features].dtypes)
          for features in train.columns
      }
      mask_params = None
  
      enc = ColumnTransformer(
          transformers=[
              ("Ordinal_ce", ce.OrdinalEncoder(), ["city", "state"]),
              ("Ordinal_skp", skp.OrdinalEncoder(), ["city", "state"]),
          ],
          remainder="passthrough",
      )
  
      enc_2 = ColumnTransformer(
          transformers=[
              ("Ordinal_ce", ce.OrdinalEncoder(), ["city", "state"]),
              ("Ordinal_skp", skp.OrdinalEncoder(), ["city", "state"]),
          ],
          remainder="drop",
      )
  
      enc.fit(train)
      train_1 = pd.DataFrame(
          enc.transform(train),
          columns=[
              "city_ce",
              "state_ce",
              "city_skp",
              "state_skp",
              "other",
          ],
      )
      train_1["y"] = np.array([1, 0])
  
      clf_1 = cb.CatBoostClassifier(n_estimators=1).fit(
          train_1[
              ["city_ce", "state_ce", "city_skp", "state_skp", "other"]
          ],
          train_1["y"],
      )
  
      enc_2.fit(train)
      train_2 = pd.DataFrame(
          enc_2.transform(train),
          columns=["city_ce", "state_ce", "city_skp", "state_skp"],
      )
      train_2["y"] = np.array([1, 0])
  
      clf_2 = cb.CatBoostClassifier(n_estimators=1).fit(
          train_2[["city_ce", "state_ce", "city_skp", "state_skp"]],
          train_2["y"],
      )
  
      enc_3 = ce.OneHotEncoder(cols=["city", "state"])
      enc_3.fit(train)
      train_3 = enc_3.transform(train)
      train_3["y"] = np.array([1, 0])
  
      clf_3 = cb.CatBoostClassifier(n_estimators=1).fit(
          train_3[["city_1", "city_2", "state_1", "state_2", "other"]],
          train_3["y"],
      )
  
      dict_4 = {
          "col": "state",
          "mapping": pd.Series(data=[1, 2], index=["US", "FR"]),
          "data_type": "object",
      }
  
      dict_5 = {
          "col": "city",
          "mapping": pd.Series(data=[1, 2], index=["chicago", "paris"]),
          "data_type": "object",
      }
  
      enc_4 = [enc_3, [dict_4]]
  
      enc_5 = [enc_3, [dict_4, dict_5]]
  
      check_consistency_model_features(
          features_dict,
          clf_1,
          columns_dict,
          features_types,
          mask_params,
          enc,
          list_preprocessing=[enc],
      )
  
      check_consistency_model_features(
          features_dict,
          clf_2,
          columns_dict,
          features_types,
          mask_params,
          enc_2,
          list_preprocessing=[enc_2],
      )
  
      check_consistency_model_features(
          features_dict,
          clf_3,
          columns_dict,
          features_types,
          mask_params,
          enc_3,
          list_preprocessing=[enc_3],
      )
  
      check_consistency_model_features(
          features_dict,
          clf_3,
          columns_dict,
          features_types,
          mask_params,
          enc_4,
          list_preprocessing=enc_4,
      )
  
      check_consistency_model_features(
          features_dict,
          clf_3,
          columns_dict,
          features_types,
          mask_params,
          enc_5,
          list_preprocessing=enc_5,
      )
  
imports: import unittest
  import pytest
  import pandas
  import numpy
  import category_encoders
  from shapash.utils.check import check_preprocessing, check_model, check_label_dict, check_mask_params, check_y, check_contribution_object, check_preprocessing_options, check_postprocessing, check_consistency_model_features, check_consistency_model_label, check_additional_data
  from sklearn.compose import ColumnTransformer
  import sklearn.preprocessing
  import types
  import sklearn.ensemble
  import sklearn.svm
  import sklearn.linear_model
  import xgboost
  import lightgbm
  import catboost
label_desc: Use image node_id 21 for calling the TestCheck obj's underlying member method code with example usage: obj.test_check_consistency_model_features_5() without return types