class_docstr: RandOm Convolutional KErnel Transform (ROCKET).
  
  ROCKET [1]_ generates random convolutional kernels, including random length and
  dilation. It transforms the time series with two features per kernel. The first
  feature is global max pooling and the second is proportion of positive values.
  
  This transformer fits one set of paramereters per individual series,
  and applies the transform with fitted parameter i to the i-th series in transform.
  Vanilla use requires same number of series in fit and transform.
  
  To fit and transform series at the same time,
  without an identification of fit/transform instances,
  wrap this transformer in ``FitInTransform``,
  from ``sktime.transformations.compose``.
  
  Parameters
  ----------
  num_kernels : int, default=10,000
     number of random convolutional kernels.
  normalise : boolean, default True
     whether or not to normalise the input time series per instance.
  n_jobs : int, default=1
     The number of jobs to run in parallel for `transform`. ``-1`` means use all
     processors.
  random_state : None or int, optional, default = None
  
  See Also
  --------
  MultiRocketMultivariate, MiniRocket, MiniRocketMultivariate, Rocket
  
  References
  ----------
  .. [1] Tan, Chang Wei and Dempster, Angus and Bergmeir, Christoph
      and Webb, Geoffrey I,
      "ROCKET: Exceptionally fast and accurate time series
    classification using random convolutional kernels",2020,
    https://link.springer.com/article/10.1007/s10618-020-00701-z,
    https://arxiv.org/abs/1910.13051
  
  Examples
  --------
  >>> from sktime.transformations.panel.rocket import Rocket
  >>> from sktime.datasets import load_unit_test
  >>> X_train, y_train = load_unit_test(split="train") # doctest: +SKIP
  >>> X_test, y_test = load_unit_test(split="test") # doctest: +SKIP
  >>> trf = Rocket(num_kernels=512) # doctest: +SKIP
  >>> trf.fit(X_train) # doctest: +SKIP
  Rocket(...)
  >>> X_train = trf.transform(X_train) # doctest: +SKIP
  >>> X_test = trf.transform(X_test) # doctest: +SKIP
docstr: Transform input time series using random convolutional kernels.
  
  Parameters
  ----------
  X : 3D np.ndarray of shape = [n_instances, n_dimensions, series_length]
      panel of time series to transform
  y : ignored argument for interface compatibility
  
  Returns
  -------
  pandas DataFrame, transformed features
docstr_tok: ["Transform","input","time","series","using","random","convolutional","kernels",".","Parameters","--","--","--","--","--","X",":","3D","np.ndarray","of","shape","=","[","n_instances",",","n_dimensions",",","series_length","]","panel","of","time","series","to","transform","y",":","ignored","argument","for","interface","compatibility","Returns","--","--","--","-","pandas","DataFrame",",","transformed","features"]
code: def _transform(self, X, y=None):
      """Transform input time series using random convolutional kernels.
  
      Parameters
      ----------
      X : 3D np.ndarray of shape = [n_instances, n_dimensions, series_length]
          panel of time series to transform
      y : ignored argument for interface compatibility
  
      Returns
      -------
      pandas DataFrame, transformed features
      """
      from numba import get_num_threads, set_num_threads
  
      from sktime.transformations.panel.rocket._rocket_numba import (
          _apply_kernels,
      )
  
      if self.normalise:
          X = (X - X.mean(axis=-1, keepdims=True)) / (
              X.std(axis=-1, keepdims=True) + 1e-8
          )
      prev_threads = get_num_threads()
      if self.n_jobs < 1 or self.n_jobs > multiprocessing.cpu_count():
          n_jobs = multiprocessing.cpu_count()
      else:
          n_jobs = self.n_jobs
      set_num_threads(n_jobs)
      t = pd.DataFrame(
          _apply_kernels(X.astype(np.float32), self.kernels)
      )
      set_num_threads(prev_threads)
      return t
  
file_path: sktime/sktime/transformations/panel/rocket/_rocket.py
imports: import multiprocessing
  import numpy
  import pandas
  from sktime.transformations.base import BaseTransformer
label_desc: Use image node_id 3 for calling the Rocket obj's underlying member method code with example usage: obj._transform(X, y) and returns: t