code: def test_knn_wo_cv_with_fixed_features_and_feature_groups_case1():
      # features (0, 1) gives different score?
      iris = load_iris()
      X = iris.data
      y = iris.target
      knn = KNeighborsClassifier(n_neighbors=4)
      sfs = SFS(
          knn,
          k_features=(1, 2),
          scoring="accuracy",
          cv=0,
          fixed_features=[0, 1],
          feature_groups=[[0, 1], [2], [3]],
      )
      sfs.fit(X, y)
      # expect is based on what provided in `test_knn_wo_cv`
      expect = {
          1: {
              "feature_idx": (0, 1),
              "feature_names": ("0", "1"),
              "avg_score": 0.8333333333333334,
              "cv_scores": np.array([0.8333333333333334]),
          },
          2: {
              "feature_idx": (0, 1, 3),
              "feature_names": ("0", "1", "3"),
              "avg_score": 0.96666666666666667,
              "cv_scores": np.array([0.96666667]),
          },
      }
      dict_compare_utility(d_actual=expect, d_desired=sfs.subsets_)
  
imports: import numpy
  from numpy.testing import assert_almost_equal
  from sklearn.datasets import load_iris
  from sklearn.ensemble import RandomForestClassifier
  from sklearn.linear_model import LinearRegression
  from sklearn.metrics import roc_auc_score
  from sklearn.neighbors import KNeighborsClassifier
  from mlxtend.data import boston_housing_data
  from mlxtend.feature_selection import SequentialFeatureSelector
  from mlxtend.utils import assert_raises
label_desc: Use image node_id 10 for calling a global function with example usage: test_knn_wo_cv_with_fixed_features_and_feature_groups_case1() without return types