class_docstr: Abstract base class for time series panel tasks, e.g., classifiers, regressors.
  
  The class contains boilerplate for checks and data conversions,
  which are common to multiple descendants, most importantly,
  BaseClassifier and BaseRegressor.
docstr: Input checks, capability checks, repeated in all predict/score methods.
  
  Parameters
  ----------
  X : any object (to check/convert)
      should be of a supported Panel mtype or 2D numpy.ndarray
  
  Returns
  -------
  X: an object of a supported Panel mtype, numpy3D if X was a 2D numpy.ndarray
  
  Raises
  ------
  ValueError if X is of invalid input data type, or there is not enough data
  ValueError if the capabilities in self._tags do not handle the data.
docstr_tok: ["Input","checks",",","capability","checks",",","repeated","in","all","predict\/score","methods",".","Parameters","--","--","--","--","--","X",":","any","object","(","to","check\/convert",")","should","be","of","a","supported","Panel","mtype","or","2D","numpy.ndarray","Returns","--","--","--","-","X",":","an","object","of","a","supported","Panel","mtype",",","numpy3D","if","X","was","a","2D","numpy.ndarray","Raises","--","--","--","ValueError","if","X","is","of","invalid","input","data","type",",","or","there","is","not","enough","data","ValueError","if","the","capabilities","in","self._tags","do","not","handle","the","data","."]
code: def _check_convert_X_for_predict(self, X):
      """Input checks, capability checks, repeated in all predict/score methods.
  
      Parameters
      ----------
      X : any object (to check/convert)
          should be of a supported Panel mtype or 2D numpy.ndarray
  
      Returns
      -------
      X: an object of a supported Panel mtype, numpy3D if X was a 2D numpy.ndarray
  
      Raises
      ------
      ValueError if X is of invalid input data type, or there is not enough data
      ValueError if the capabilities in self._tags do not handle the data.
      """
      X = self._internal_convert(X)
      X_metadata = self._check_input(
          X, return_metadata=self.METADATA_REQ_IN_CHECKS
      )
      X_mtype = X_metadata["mtype"]
      # Check that estimator can handle characteristics
      self._check_capabilities(X_metadata)
      # Convert data as dictated by the estimator tags
      X = self._convert_X(X, X_mtype=X_mtype)
  
      return X
  
file_path: sktime/sktime/base/_base_panel.py
imports: import numpy
  import pandas
  from sktime.base import BaseEstimator
  from sktime.datatypes import MTYPE_LIST_PANEL, MTYPE_LIST_TABLE, VectorizedDF, check_is_error_msg, check_is_scitype, convert
  from sktime.utils.warnings import warn
label_desc: Use image node_id 3 for calling the BasePanelMixin obj's underlying member method code with example usage: obj._check_convert_X_for_predict(X) and returns: X