code: def test_classification():
      # Check classification for various parameter settings.
      rng = check_random_state(0)
      X_train, X_test, y_train, y_test = train_test_split(
          iris.data, iris.target, random_state=rng
      )
      grid = ParameterGrid(
          {
              "max_samples": [0.5, 1.0],
              "max_features": [1, 4],
              "bootstrap": [True, False],
              "bootstrap_features": [True, False],
          }
      )
      estimators = [
          None,
          DummyClassifier(),
          Perceptron(max_iter=20),
          DecisionTreeClassifier(max_depth=2),
          KNeighborsClassifier(),
          SVC(),
      ]
      # Try different parameter settings with different base classifiers without
      # doing the full cartesian product to keep the test durations low.
      for params, estimator in zip(grid, cycle(estimators)):
          BaggingClassifier(
              estimator=estimator,
              random_state=rng,
              n_estimators=2,
              **params,
          ).fit(X_train, y_train).predict(X_test)
  
imports: from itertools import cycle, product
  import joblib
  import numpy
  import pytest
  from sklearn.base import BaseEstimator
  from sklearn.datasets import load_diabetes, load_iris, make_hastie_10_2
  from sklearn.dummy import DummyClassifier, DummyRegressor
  from sklearn.ensemble import BaggingClassifier, BaggingRegressor, HistGradientBoostingClassifier, HistGradientBoostingRegressor
  from sklearn.feature_selection import SelectKBest
  from sklearn.linear_model import LogisticRegression, Perceptron
  from sklearn.model_selection import GridSearchCV, ParameterGrid, train_test_split
  from sklearn.neighbors import KNeighborsClassifier, KNeighborsRegressor
  from sklearn.pipeline import make_pipeline
  from sklearn.preprocessing import FunctionTransformer, scale
  from sklearn.random_projection import SparseRandomProjection
  from sklearn.svm import SVC, SVR
  from sklearn.tree import DecisionTreeClassifier, DecisionTreeRegressor
  from sklearn.utils import check_random_state
  from sklearn.utils._testing import assert_array_almost_equal, assert_array_equal
  from sklearn.utils.fixes import CSC_CONTAINERS, CSR_CONTAINERS
label_desc: Use image node_id 1 for calling a global function with example usage: test_classification() without return types