code: def prepare_dataset(dataset,
                      formula_id2index,
                      feature_list,
                      is_traindata,
                      do_normalization=False):
      
      prepared = []
      start_time = time.time()
      translation = []
      for i, data in enumerate(dataset):
          x = []
          handwriting = data['handwriting']
          x = handwriting.feature_extraction(feature_list)  # Feature selection
          y = formula_id2index[data['formula_id']]  # Get label
          translation.append((handwriting.raw_data_id,
                              handwriting.formula_in_latex,
                              handwriting.formula_id))
          prepared.append((numpy.array(x), y))
          if i % 100 == 0 and i > 0:
              utils.print_status(len(dataset), i, start_time)
      sys.stdout.write("\r100%" + " "*80 + "\n")
      sys.stdout.flush()
  
      # Feature normalization
      if do_normalization:
          _normalize_features(feature_list, prepared, is_traindata)
      return (prepared, translation)
docs: Transform each instance of dataset to a (Features, Label) tuple.