class_docstr: Data object used for all RasaModels.
  
  It contains all features needed to train the models.
  'data' is a mapping of attribute name, e.g. TEXT, INTENT, etc., and feature name,
  e.g. SENTENCE, SEQUENCE, etc., to a list of feature arrays representing the actual
  features.
  'label_key' and 'label_sub_key' point to the labels inside 'data'. For
  example, if your intent labels are stored under INTENT -> IDS, 'label_key' would
  be "INTENT" and 'label_sub_key' would be "IDS".
class_docstr_tok: ["Data","object","used","for","all","RasaModels",".","It","contains","all","features","needed","to","train","the","models",".","'data","'","is","a","mapping","of","attribute","name",",","e.g",".","TEXT",",","INTENT",",","etc.",",","and","feature","name",",","e.g",".","SENTENCE",",","SEQUENCE",",","etc.",",","to","a","list","of","feature","arrays","representing","the","actual","features",".","'label_key","'","and","'label_sub_key","'","point","to","the","labels","inside","'data","'",".","For","example",",","if","your","intent","labels","are","stored","under","INTENT","-",">","IDS",",","'label_key","'","would","be","``","INTENT","''","and","'label_sub_key","'","would","be","``","IDS","''","."]
docstr: Copies the features under the given keys to the new keys and deletes the old.
  
  Args:
      from_key: current feature key
      from_sub_key: current feature sub-key
      to_key: new key for feature
      to_sub_key: new sub-key for feature
docstr_tok: ["Copies","the","features","under","the","given","keys","to","the","new","keys","and","deletes","the","old",".","Args",":","from_key",":","current","feature","key","from_sub_key",":","current","feature","sub-key","to_key",":","new","key","for","feature","to_sub_key",":","new","sub-key","for","feature"]
code: def update_key(
      self,
      from_key: Text,
      from_sub_key: Text,
      to_key: Text,
      to_sub_key: Text,
  ) -> None:
      """Copies the features under the given keys to the new keys and deletes the old.
  
      Args:
          from_key: current feature key
          from_sub_key: current feature sub-key
          to_key: new key for feature
          to_sub_key: new sub-key for feature
      """
      if (
          from_key not in self.data
          or from_sub_key not in self.data[from_key]
      ):
          return
  
      if to_key not in self.data:
          self.data[to_key] = {}
      self.data[to_key][to_sub_key] = self.get(from_key, from_sub_key)
      del self.data[from_key][from_sub_key]
  
      if not self.data[from_key]:
          del self.data[from_key]
  
imports: import logging
  from typing import Optional, DefaultDict, Dict, Iterable, Text, List, Tuple, Any, Union, NamedTuple, ItemsView, overload, cast
  from collections import defaultdict, OrderedDict
  import numpy
  import scipy.sparse
  from sklearn.model_selection import train_test_split
label_desc: Use image node_id 16 for calling the RasaModelData obj's underlying member method code with example usage: obj.update_key(from_key, from_sub_key, to_key, to_sub_key) without return types