class_docstr: Time series signature kernel, including high-order and low-rank variants.
  
  Implements the signature kernel of Kiraly et al, see [1]_ and [2]_,
  including higher-order and low-rank approximation variants described therein.
  
  Parameters
  ----------
  kernel : sktime pairwise (tabular) transformer, callable, or None
      inner (tabular) kernel used in the signature sequence kernel
      if callable: function (2D np.ndarray x 2D np.ndarray) -> 2D np.ndarray
      pairwise kernel function, matrix sizes (n, d) x (m, d) -> (n x m)
      optional, default = None = Euclidean (linear) kernel with scale parameter 1
  level : int, optional, default = 2
      an integer >= 1, representing the level of truncation of the sequential kernel
  degree : int, optional, default = 1
      an integer >= 1, representing the order of approximation of sequential kernel
      can be set only if lowrank = False, otherwise ignored (always = 1)
  theta : float, optional, default=1.0
      a positive scaling factor for the levels, i-th level is scaled by theta^i
  normalize : bool, optional, default = False
      whether the output kernel matrix is normalized
      if True, sums and cumsums are divided by prod(K.shape)
  lowrank : bool, optional, default = False
      whether to use low rank approximation in computing the kernel
  rankbound : int, optional, default = infinity
      a hard threshold for the rank of the level matrices
      used only if lowrank = True
  
  References
  ----------
  .. [1] F. Kiraly, H. Oberhauser. 2016. "Kernels for sequentially ordered data.",
      arXiv: 1601.08169.
  .. [2] F. Kiraly, H. Oberhauser. 2019. "Kernels for sequentially ordered data.",
      Journal of Machine Learning Research.
class_docstr_tok: ["Time","series","signature","kernel",",","including","high-order","and","low-rank","variants",".","Implements","the","signature","kernel","of","Kiraly","et","al",",","see","[","1","]","_","and","[","2","]","_",",","including","higher-order","and","low-rank","approximation","variants","described","therein",".","Parameters","--","--","--","--","--","kernel",":","sktime","pairwise","(","tabular",")","transformer",",","callable",",","or","None","inner","(","tabular",")","kernel","used","in","the","signature","sequence","kernel","if","callable",":","function","(","2D","np.ndarray","x","2D","np.ndarray",")","-",">","2D","np.ndarray","pairwise","kernel","function",",","matrix","sizes","(","n",",","d",")","x","(","m",",","d",")","-",">","(","n","x","m",")","optional",",","default","=","None","=","Euclidean","(","linear",")","kernel","with","scale","parameter","1","level",":","int",",","optional",",","default","=","2","an","integer",">","=","1",",","representing","the","level","of","truncation","of","the","sequential","kernel","degree",":","int",",","optional",",","default","=","1","an","integer",">","=","1",",","representing","the","order","of","approximation","of","sequential","kernel","can","be","set","only","if","lowrank","=","False",",","otherwise","ignored","(","always","=","1",")","theta",":","float",",","optional",",","default=1.0","a","positive","scaling","factor","for","the","levels",",","i-th","level","is","scaled","by","theta^i","normalize",":","bool",",","optional",",","default","=","False","whether","the","output","kernel","matrix","is","normalized","if","True",",","sums","and","cumsums","are","divided","by","prod","(","K.shape",")","lowrank",":","bool",",","optional",",","default","=","False","whether","to","use","low","rank","approximation","in","computing","the","kernel","rankbound",":","int",",","optional",",","default","=","infinity","a","hard","threshold","for","the","rank","of","the","level","matrices","used","only","if","lowrank","=","True","References","--","--","--","--","--","..","[","1","]","F.","Kiraly",",","H.","Oberhauser",".","2016",".","``","Kernels","for","sequentially","ordered","data",".","``",",","arXiv",":","1601.08169",".","..","[","2","]","F.","Kiraly",",","H.","Oberhauser",".","2019",".","``","Kernels","for","sequentially","ordered","data",".","``",",","Journal","of","Machine","Learning","Research","."]
code: def __init__(
      self,
      kernel=None,
      level=2,
      degree=1,
      theta=1,
      normalize=False,
      lowrank=False,
      rankbound=float("inf"),
  ):
      self.kernel = kernel
      self.level = level
      self.degree = degree
      self.theta = theta
      self.normalize = normalize
      self.lowrank = lowrank
      self.rankbound = rankbound
  
      if kernel is None:
          self._kernel = partial(k_euclid, scale=1)
      else:
          self._kernel = kernel
  
      self._kern_kwargs = {
          "L": level,
          "D": degree,
          "theta": theta,
          "normalize": normalize,
          "lowrank": lowrank,
          "rankbound": rankbound,
      }
  
      super().__init__()
  
imports: import collections
  from functools import partial
  import numpy
  from scipy.sparse.linalg import svds
  from sklearn.base import BaseEstimator, TransformerMixin
  from sktime.dists_kernels.base import BasePairwiseTransformerPanel
label_desc: Use image node_id 1 to create a new SignatureKernel object from inherited base classes: BasePairwiseTransformerPanel with example: obj = SignatureKernel(kernel, level, degree, theta, normalize, lowrank, rankbound)