text: import numpy as np
  from numpy import testing
  
  from sktime.classification.dictionary_based._tde import \
      TemporalDictionaryEnsemble, IndividualTDE
  from sktime.datasets import load_gunpoint
  
  
  def test_tde_on_gunpoint():
      # load gunpoint data
      X_train, y_train = load_gunpoint(split='train', return_X_y=True)
      X_test, y_test = load_gunpoint(split='test', return_X_y=True)
      indices = np.random.RandomState(0).permutation(10)
  
      # train tde
      tde = TemporalDictionaryEnsemble(random_state=0)
      tde.fit(X_train.iloc[indices], y_train[indices])
  
      # assert probabilities are the same
      probas = tde.predict_proba(X_test.iloc[indices])
      testing.assert_array_equal(probas, tde_gunpoint_probas)
  
  
  def test_individual_tde_on_gunpoint():
      # load gunpoint data
      X_train, y_train = load_gunpoint(split='train', return_X_y=True)
      X_test, y_test = load_gunpoint(split='test', return_X_y=True)
      indices = np.random.RandomState(0).permutation(10)
  
      # train individual tde
      indiv_tde = IndividualTDE(random_state=0)
      indiv_tde.fit(X_train.iloc[indices], y_train[indices])
  
      # assert probabilities are the same
      probas = indiv_tde.predict_proba(X_test.iloc[indices])
      testing.assert_array_equal(probas, individual_tde_gunpoint_probas)
  
  
  tde_gunpoint_probas = np.array([
      [0.09110736027612891, 0.9088926397238711, ],
      [0.3497885414098505, 0.6502114585901497, ],
      [0.7196609076599216, 0.2803390923400786, ],
      [0.5043145138348918, 0.4956854861651084, ],
      [0.0830662443816496, 0.9169337556183506, ],
      [0.5168692749720266, 0.48313072502797333, ],
      [0.1753873580003414, 0.8246126419996588, ],
      [0.5956873826547062, 0.4043126173452939, ],
      [0.5596920100893247, 0.4403079899106754, ],
      [0.15915340704356237, 0.8408465929564376, ],
  ])
  individual_tde_gunpoint_probas = np.array([
      [0.0, 1.0, ],
      [0.0, 1.0, ],
      [1.0, 0.0, ],
      [1.0, 0.0, ],
      [0.0, 1.0, ],
      [1.0, 0.0, ],
      [0.0, 1.0, ],
      [1.0, 0.0, ],
      [1.0, 0.0, ],
      [0.0, 1.0, ],
  ])
  
  
  # def print_array(array):
  #     print('[')
  #     for sub_array in array:
  #         print('[', end='')
  #         for value in sub_array:
  #             print(value.astype(str), end='')
  #             print(', ', end='')
  #         print('],')
  #     print(']')
  #
  #
  # if __name__ == "__main__":
  #     X_train, y_train = load_gunpoint(split='train', return_X_y=True)
  #     X_test, y_test = load_gunpoint(split='test', return_X_y=True)
  #     indices = np.random.RandomState(0).permutation(10)
  #
  #     tde = TemporalDictionaryEnsemble(random_state=0)
  #     indiv_tde = IndividualTDE(random_state=0)
  #
  #     tde.fit(X_train.iloc[indices], y_train[indices])
  #     probas = tde.predict_proba(X_test.iloc[indices])
  #     print_array(probas)
  #
  #     indiv_tde.fit(X_train.iloc[indices], y_train[indices])
  #     probas = indiv_tde.predict_proba(X_test.iloc[indices])
  #     print_array(probas)
  