code: def _predict(self, X, resultsToEvaluate):
      # Input validation
      if not self.allow_nan_:
          X = check_array(X, dtype=[np.single, np.double])
      else:
          X = check_array(
              X,
              dtype=[np.single, np.double],
              force_all_finite="allow-nan",
          )
  
      # Check is fit had been called
      check_is_fitted(self, ["n_features_in_", "n_classes_"])
  
      # Trivial case
      if self.n_classes_ == 1:
          return np.full(X.shape[0], self.classes_[0])
  
      fptype = getFPType(X)
      predict_result = self._predict_classification(
          X, fptype, resultsToEvaluate
      )
  
      if resultsToEvaluate == "computeClassLabels":
          # Decode labels
          le = preprocessing.LabelEncoder()
          le.classes_ = self.classes_
          return le.inverse_transform(predict_result)
      return predict_result
  
imports: import numbers
  import numpy
  from sklearn import preprocessing
  from sklearn.base import BaseEstimator, ClassifierMixin, RegressorMixin
  from sklearn.utils import check_random_state
  from sklearn.utils.multiclass import check_classification_targets
  from sklearn.utils.validation import check_array, check_is_fitted, check_X_y
  import daal4py
  from .._utils import control_n_jobs, getFPType, run_with_n_jobs
label_desc: Use image node_id 2 for calling the GBTDAALClassifier obj's underlying member method code with example usage: obj._predict(X, resultsToEvaluate) and returns: predict_result, np, le