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: Fitting a BANE model.
  
  Arg types:
      * **graph** *(NetworkX graph)* - The graph to be embedded.
      * **X** *(Scipy COO or Numpy array)* - The matrix of node features.
docstr_tok: ["Fitting","a","BANE","model",".","Arg","types",":","*","*","*","graph","*","*","*","(","NetworkX","graph",")","*","-","The","graph","to","be","embedded",".","*","*","*","X","*","*","*","(","Scipy","COO","or","Numpy","array",")","*","-","The","matrix","of","node","features","."]
code: def fit(
      self,
      graph: nx.classes.graph.Graph,
      X: Union[np.array, coo_matrix],
  ):
      """
      Fitting a BANE model.
  
      Arg types:
          * **graph** *(NetworkX graph)* - The graph to be embedded.
          * **X** *(Scipy COO or Numpy array)* - The matrix of node features.
      """
      self._set_seed()
      graph = self._check_graph(graph)
      self._P = self._create_target_matrix(graph)
      self._X = X
      self._fit_base_SVD_model()
      self._binary_optimize()
  
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 3 for calling the BANE obj's underlying member method code with example usage: obj.fit(graph, X) without return types