def __init__(self, source_dataset, target_dataset, H=None, alpha=0.82, maxiter=30, tol=1e-4): self.source_dataset = source_dataset self.target_dataset = target_dataset self.alignment_matrix = None self.A1 = source_dataset.get_adjacency_matrix() self.A2 = target_dataset.get_adjacency_matrix() self.alpha = alpha self.maxiter = maxiter self.H = get_H(H, source_dataset, target_dataset) self.tol = tol self.N1 = source_dataset.features self.N2 = target_dataset.features self.E1 = source_dataset.load_edge_features() self.E2 = target_dataset.load_edge_features() self.alignment_matrix = None # % If no node attributes input, then initialize as a vector of 1 # % so that all nodes are treated to have the save attributes which # % is equivalent to no given node attribute. # E1 should be (2, A1.shape[0], A1.shape[1]) if self.N1 is None and self.N2 is None: self.N1 = np.ones((self.A1.shape[0], 1)) self.N2 = np.ones((self.A2.shape[0], 1)) if self.E1 is None and self.E2 is None: self.E1 = np.zeros((1, self.A1.shape[0], self.A1.shape[1])) self.E2 = np.zeros((1, self.A2.shape[0], self.A2.shape[1])) self.E1[0] = self.A1 self.E2[0] = self.A2
def __init__(self, source_dataset, target_dataset, H=None, alpha=0.82, maxiter=30, tol=1e-4): self.source_dataset = source_dataset self.target_dataset = target_dataset self.alignment_matrix = None self.A1 = source_dataset.get_adjacency_matrix() self.A2 = target_dataset.get_adjacency_matrix() self.alpha = alpha self.maxiter = maxiter self.H = get_H(H, source_dataset, target_dataset) self.tol = tol
def __init__(self, source_dataset, target_dataset, H=None, alpha=0.82, maxiter=30, tol=1e-4, train_dict=None): self.source_dataset = source_dataset self.target_dataset = target_dataset self.alignment_matrix = None self.A1 = source_dataset.get_adjacency_matrix() self.A2 = target_dataset.get_adjacency_matrix() self.alpha = alpha self.maxiter = maxiter if train_dict is not None: print("This is supervised IsoRank") self.H = get_H(H, source_dataset, target_dataset, train_dict) self.tol = tol