class_docstr: An implementation of `"BANE" <https://shiruipan.github.io/publication/yang-binarized-2018/yang-binarized-2018.pdf>`_
  from the ICDM '18 paper "Binarized Attributed Network Embedding Class". The
  procedure first calculates the truncated SVD of an adjacency - feature matrix
  product. This matrix is further decomposed by a binary CCD based technique.
  
  Args:
      dimensions (int): Number of embedding dimensions. Default is 32.
      svd_iterations (int): SVD iteration count. Default is 20.
      seed (int): Random seed. Default is 42.
      alpha (float): Kernel matrix inversion parameter. Default is 0.3.
      iterations (int): Matrix decomposition iterations. Default is 100.
      binarization_iterations (int): Binarization iterations. Default is 20.
      seed (int): Random seed value. Default is 42.
class_docstr_tok: ["An","implementation","of","`","``","BANE","''","<","https",":","\/\/shiruipan.github.io\/publication\/yang-binarized-2018\/yang-binarized-2018.pdf",">","`","_","from","the","ICDM","'18","paper","``","Binarized","Attributed","Network","Embedding","Class","''",".","The","procedure","first","calculates","the","truncated","SVD","of","an","adjacency","-","feature","matrix","product",".","This","matrix","is","further","decomposed","by","a","binary","CCD","based","technique",".","Args",":","dimensions","(","int",")",":","Number","of","embedding","dimensions",".","Default","is","32.","svd_iterations","(","int",")",":","SVD","iteration","count",".","Default","is","20.","seed","(","int",")",":","Random","seed",".","Default","is","42.","alpha","(","float",")",":","Kernel","matrix","inversion","parameter",".","Default","is","0.3.","iterations","(","int",")",":","Matrix","decomposition","iterations",".","Default","is","100.","binarization_iterations","(","int",")",":","Binarization","iterations",".","Default","is","20.","seed","(","int",")",":","Random","seed","value",".","Default","is","42","."]
docstr: Updating the embedding matrix.
docstr_tok: ["Updating","the","embedding","matrix","."]
code: def _update_B(self):
      """
      Updating the embedding matrix.
      """
      for _ in range(self.iterations):
          for d in range(self.dimensions):
              sel = [x for x in range(self.dimensions) if x != d]
              self._B[:, d] = (
                  self._Q[:, d]
                  - self._B[:, sel]
                  .dot(self._G[sel, :])
                  .dot(self._G[:, d])
                  .transpose()
              )
              self._B[:, d] = np.sign(self._B[:, d])
  
file_path: karateclub/karateclub/node_embedding/attributed/bane.py
imports: import numpy
  import networkx
  from typing import Union
  from numpy.linalg import inv
  from scipy.sparse import coo_matrix
  from sklearn.decomposition import TruncatedSVD
  from karateclub.estimator import Estimator
label_desc: Use image node_id 7 for calling the BANE obj's underlying member method code with example usage: obj._update_B() without return types