code: def fisher_score(X, y):
      """Numba Fisher score function.
  
      Parameters
      ----------
      X : 1d numpy array
          A 1d numpy array of attribute values
      y : 1d numpy array
          A 1d numpy array of class values
  
      Returns
      -------
      score : float
          The Fisher score for the given array of attribute values and class values
      """
      unique_labels = np.unique(y)
      mu_feat = mean(X)
      accum_numerator = 0
      accum_denominator = 0
  
      for k in unique_labels:
          idx_label = np.where(y == k)[0]
          data_sub = X[idx_label]
  
          mu_feat_label = mean(data_sub)
          sigma_feat_label = max(
              std2(data_sub, mu_feat_label), 0.000001
          )
  
          accum_numerator += (
              idx_label.shape[0] * (mu_feat_label - mu_feat) ** 2
          )
          accum_denominator += (
              idx_label.shape[0] * sigma_feat_label**2
          )
  
      if accum_denominator == 0:
          return 0
      else:
          return accum_numerator / accum_denominator
  
imports: from sktime.utils.validation._dependencies import _check_soft_dependencies
  import numpy
  import sktime.utils.numba.general
  from sktime.utils.numba.njit import njit
label_desc: Use image node_id 22 for calling a global function with example usage: fisher_score(X, y) and returns: int, unknown