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: Get signature of RasaModelData.
  
  Signature stores the shape and whether features are sparse or not for every key.
  
  Returns:
      A dictionary of key and sub-key to a list of feature signatures
      (same structure as the data attribute).
docstr_tok: ["Get","signature","of","RasaModelData",".","Signature","stores","the","shape","and","whether","features","are","sparse","or","not","for","every","key",".","Returns",":","A","dictionary","of","key","and","sub-key","to","a","list","of","feature","signatures","(","same","structure","as","the","data","attribute",")","."]
code: def get_signature(
      self, data: Optional[Data] = None
  ) -> Dict[Text, Dict[Text, List[FeatureSignature]]]:
      """Get signature of RasaModelData.
  
      Signature stores the shape and whether features are sparse or not for every key.
  
      Returns:
          A dictionary of key and sub-key to a list of feature signatures
          (same structure as the data attribute).
      """
      if not data:
          data = self.data
  
      return {
          key: {
              sub_key: [
                  FeatureSignature(
                      f.is_sparse, f.units, f.number_of_dimensions
                  )
                  for f in features
              ]
              for sub_key, features in attribute_data.items()
          }
          for key, attribute_data in data.items()
      }
  
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 22 for calling the RasaModelData obj's underlying member method code with example usage: obj.get_signature(data) and returns: unknown