class_docstr: Module level tests for all sktime regressors.
class_docstr_tok: ["Module","level","tests","for","all","sktime","regressors","."]
docstr: Test multioutput regression for all classifiers.
  
  All classifiers should follow the same interface,
  those that do not genuinely should vectorize/broadcast over y.
docstr_tok: ["Test","multioutput","regression","for","all","classifiers",".","All","classifiers","should","follow","the","same","interface",",","those","that","do","not","genuinely","should","vectorize\/broadcast","over","y","."]
code: def test_multioutput(self, estimator_instance):
      """Test multioutput regression for all classifiers.
  
      All classifiers should follow the same interface,
      those that do not genuinely should vectorize/broadcast over y.
      """
      n_instances = 20
      X, y = make_regression_problem(n_instances=n_instances)
      y_mult = pd.DataFrame({"a": y, "b": y})
  
      estimator_instance.fit(X, y_mult)
      y_pred = estimator_instance.predict(X)
  
      assert isinstance(y_pred, pd.DataFrame)
      assert y_pred.shape == y_mult.shape
  
      vectorized = estimator_instance.get_tag("capability:multioutput")
      if vectorized:
          assert hasattr(estimator_instance, "regressors_")
          assert isinstance(
              estimator_instance.regressors_, pd.DataFrame
          )
          assert estimator_instance.regressors_.shape == (1, 2)
  
file_path: sktime/sktime/regression/tests/test_all_regressors.py
imports: import numpy
  import pandas
  import pytest
  from sktime.datatypes import check_is_scitype
  from sktime.tests.test_all_estimators import BaseFixtureGenerator, QuickTester
  from sktime.utils._testing.panel import make_regression_problem
  from sktime.utils._testing.scenarios_classification import ClassifierFitPredictMultivariate
label_desc: Use image node_id 3 for calling the TestAllRegressors obj's underlying member method code with example usage: obj.test_multioutput(estimator_instance) without return types