code: def test_when_using_best_quality_then_returns_auto_gluon_model():
      from dowhy.gcm.ml import AutoGluonClassifier, AutoGluonRegressor
  
      causal_model = ProbabilisticCausalModel(nx.DiGraph([("X", "Y")]))
  
      assign_causal_mechanisms(
          causal_model,
          pd.DataFrame({"X": [1], "Y": [1]}),
          quality=AssignmentQuality.BEST,
      )
      assert isinstance(
          causal_model.causal_mechanism("Y").prediction_model,
          AutoGluonRegressor,
      )
  
      assign_causal_mechanisms(
          causal_model,
          pd.DataFrame({"X": [1], "Y": ["Class 1"]}),
          quality=AssignmentQuality.BEST,
          override_models=True,
      )
      assert isinstance(
          causal_model.causal_mechanism("Y").classifier_model,
          AutoGluonClassifier,
      )
  
imports: import networkx
  import numpy
  import pandas
  import pytest
  from _pytest.python_api import approx
  from flaky import flaky
  from pytest import mark
  from sklearn.ensemble import HistGradientBoostingClassifier, HistGradientBoostingRegressor
  from sklearn.linear_model import ElasticNetCV, LassoCV, LinearRegression, LogisticRegression, RidgeCV
  from sklearn.naive_bayes import GaussianNB
  from sklearn.pipeline import Pipeline
  from dowhy.gcm import AdditiveNoiseModel, DiscreteAdditiveNoiseModel, EmpiricalDistribution, ProbabilisticCausalModel, StructuralCausalModel, draw_samples, fit
  from dowhy.gcm.auto import AssignmentQuality, assign_causal_mechanisms, has_linear_relationship
label_desc: Use image node_id 17 for calling a global function with example usage: test_when_using_best_quality_then_returns_auto_gluon_model() without return types