code: def test_similar_experiments_unordered():
      """Check that an experiment with a single `EngineerStep` is considered "similar" by an
      Optimization Protocol, with two `optional` `EngineerStep`s, where the second step is identical
      to the single step used by the standalone experiment. As of v3.0.0alpha2, this is expected to
      fail because the otherwise identical engineer steps occur at different indexes in
      `FeatureEngineer.steps` for the experiment and the OptPro. The experiment has `sqr_sum_feature`
      at index=0, while the same step in the OptPro is at index=1. Note that the step index in OptPro
      is still 1 despite the fact that the other step immediately preceding it is `optional`
      """
      env = Environment(
          train_dataset=get_breast_cancer_data(),
          results_path=assets_dir,
          target_column="diagnosis",
          metrics=["roc_auc_score"],
          cv_type="StratifiedKFold",
          cv_params=dict(n_splits=5, shuffle=True, random_state=32),
      )
  
      exp = CVExperiment(
          model_initializer=XGBClassifier,
          model_init_params=dict(
              objective="reg:linear", subsample=0.5, max_depth=3
          ),
          feature_engineer=FeatureEngineer(
              [EngineerStep(sqr_sum_feature)]
          ),
      )
  
      opt = BayesianOptPro(iterations=1)
      opt.forge_experiment(
          model_initializer=XGBClassifier,
          model_init_params=dict(
              objective="reg:linear", subsample=0.5, max_depth=3
          ),
          feature_engineer=FeatureEngineer(
              [
                  Categorical(
                      [standard_scale, normalize, min_max_scale],
                      optional=True,
                  ),
                  Categorical([sqr_sum_feature], optional=True),
              ]
          ),
      )
      opt.go()
  
      assert exp.experiment_id in [
          _[2] for _ in opt.similar_experiments
      ]
  
imports: from hyperparameter_hunter import __version__
  from hyperparameter_hunter import Environment, CVExperiment, FeatureEngineer, EngineerStep
  from hyperparameter_hunter import Categorical, Integer, BayesianOptPro, GBRT, RF, ET, DummyOptPro
  from hyperparameter_hunter.utils.learning_utils import get_breast_cancer_data, get_boston_data
  from hyperparameter_hunter.utils.optimization_utils import get_choice_dimensions
  from hyperparameter_hunter.utils.version_utils import HHVersion
  import numpy
  from os import makedirs
  import pandas
  import pytest
  from shutil import rmtree
  import sys
  from sklearn.ensemble import AdaBoostRegressor
  from sklearn.linear_model import Ridge
  from sklearn.model_selection import train_test_split
  from sklearn.preprocessing import MinMaxScaler, Normalizer, QuantileTransformer, StandardScaler
label_desc: Use image node_id 23 for calling a global function with example usage: test_similar_experiments_unordered() without return types