code: def test_feature_groups():
      df = generate_test_data(1000, text=True)
      features = ["A", "B", "C", "D"]
  
      cv = CountVectorizer(ngram_range=(3, 3), analyzer="char")
      feature_groups = dict()
      feature_groups["names"] = cv.fit_transform(df["T"])
      feature_groups["interactions"] = (
          df[["A", "B"]].values * df[["C", "D"]].values
      )
  
      dataset = Dataset(
          df=df,
          target="binary_target",
          features=features,
          feature_groups=feature_groups,
      )
  
      lgbm = LGBMClassifier(random_state=0, n_jobs=4)
  
      lofo = LOFOImportance(
          dataset, model=lgbm, cv=4, scoring="roc_auc"
      )
  
      importance_df = lofo.get_importance()
  
      assert (
          len(features) + len(feature_groups) == importance_df.shape[0]
      ), "Missing importance value for some features!"
      assert (
          importance_df["feature"].values[0] == "names"
      ), "Most important feature is different than 'names'!"
  
file_path: lofo-importance/tests/test_lofo_importance.py
imports: from sklearn.feature_extraction.text import CountVectorizer
  from sklearn.linear_model import LogisticRegression
  from lightgbm import LGBMClassifier
  from sklearn.model_selection import KFold
  from lofo import LOFOImportance, Dataset, plot_importance
  from data.test_data import generate_test_data, generate_unstructured_test_data
label_desc: Use image node_id 4 for calling a global function with example usage: test_feature_groups() without return types