original_docstring: 
          Projects the embedding set into 2D. The method parameter can be a
          callable, which will define a dimensionality reduction technique that
          takes as input a list of numpy arrays and a list of lists of IDs, as
          well as any keyword arguments given to the params argument of this
          method, and returns a list of dimension-reduced arrays.
          
          Returns: A new EmbeddingSet object with (optionally aligned) projected
              data.
          
docstring: Projects the embedding set into 2D. The method parameter can be a
  callable, which will define a dimensionality reduction technique that
  takes as input a list of numpy arrays and a list of lists of IDs, as
  well as any keyword arguments given to the params argument of this
  method, and returns a list of dimension-reduced arrays.
  
  A new EmbeddingSet object with (optionally aligned) projected
  data.
docstring_tokens: Projects the embedding set into 2D . The method parameter can be a callable which will define a dimensionality reduction technique that takes as input a list of numpy arrays and a list of lists of IDs as well as any keyword arguments given to the params argument of this method and returns a list of dimension - reduced arrays . A new EmbeddingSet object with ( optionally aligned ) projected data .
code: def project(self, method=ProjectionTechnique.ALIGNED_UMAP, align=True, **params):
          """
          Projects the embedding set into 2D. The method parameter can be a
          callable, which will define a dimensionality reduction technique that
          takes as input a list of numpy arrays and a list of lists of IDs, as
          well as any keyword arguments given to the params argument of this
          method, and returns a list of dimension-reduced arrays.
          
          Returns: A new EmbeddingSet object with (optionally aligned) projected
              data.
          """
          params = params or {}
          hi_ds = [emb.field(Field.POSITION) for emb in self.embeddings]
          id_sets = [emb.ids for emb in self.embeddings]
          pre_aligned = False
          if method == ProjectionTechnique.ALIGNED_UMAP:
              import umap
              lo_d_mats = umap.AlignedUMAP(**params).fit_transform(
                  hi_ds,
                  relations=[self.embeddings[i].get_relations(self.embeddings[i + 1])
                              for i in range(len(self.embeddings) - 1)])
              pre_aligned = True
              lo_ds = [emb.copy_with_fields({Field.POSITION: lo_d}, clear_neighbors=True)
                       for emb, lo_d in zip(self.embeddings, lo_d_mats)]
          elif callable(method):
              lo_d_mats = method(hi_ds, id_sets, **params)
              lo_ds = [emb.copy_with_fields({Field.POSITION: lo_d}, clear_neighbors=True)
                       for emb, lo_d in zip(self.embeddings, lo_d_mats)]
          else:
              lo_ds = [emb.project(method=method, **params)
                       for emb in self.embeddings]
  
          return EmbeddingSet(lo_ds, align=align and not pre_aligned)
code_tokens: def project ( self , method = ProjectionTechnique . ALIGNED_UMAP , align = True , ** params ) : params = params or { } hi_ds = [ emb . field ( Field . POSITION ) for emb in self . embeddings ] id_sets = [ emb . ids for emb in self . embeddings ] pre_aligned = False if method == ProjectionTechnique . ALIGNED_UMAP : import umap lo_d_mats = umap . AlignedUMAP ( ** params ) . fit_transform ( hi_ds , relations = [ self . embeddings [ i ] . get_relations ( self . embeddings [ i + 1 ] ) for i in range ( len ( self . embeddings ) - 1 ) ] ) pre_aligned = True lo_ds = [ emb . copy_with_fields ( { Field . POSITION : lo_d } , clear_neighbors = True ) for emb , lo_d in zip ( self . embeddings , lo_d_mats ) ] elif callable ( method ) : lo_d_mats = method ( hi_ds , id_sets , ** params ) lo_ds = [ emb . copy_with_fields ( { Field . POSITION : lo_d } , clear_neighbors = True ) for emb , lo_d in zip ( self . embeddings , lo_d_mats ) ] else : lo_ds = [ emb . project ( method = method , ** params ) for emb in self . embeddings ] return EmbeddingSet ( lo_ds , align = align and not pre_aligned )
short_docstring: Projects the embedding set into 2D.
short_docstring_tokens: Projects the embedding set into 2D .
comment: """
          Projects the embedding set into 2D. The method parameter can be a
          callable, which will define a dimensionality reduction technique that
          takes as input a list of numpy arrays and a list of lists of IDs, as
          well as any keyword arguments given to the params argument of this
          method, and returns a list of dimension-reduced arrays.
          
          Returns: A new EmbeddingSet object with (optionally aligned) projected
              data.
          """