def do_boosting(self): """ Doing a series of matrix-factorizations on the anchor-sampled residual matrices. """ self.embeddings = [] for iteration in range(self.args.iterations): print("\nFitting model: " + str(iteration + 1) + "/" + str(self.args.iterations) + ".") self.single_boosting_round(iteration) simple_print("Boosting round " + str(iteration + 1) + ". loss", self.residuals.sum())
def __init__(self, residuals, args): """ Initialization method. """ self.args = args self.residuals = residuals simple_print("Matrix sum: ", self.residuals.sum()) self.shape = residuals.shape indices = self.residuals.nonzero() self.index_1 = indices[0] self.index_2 = indices[1] self.edges = zip(self.index_1, self.index_2) print("\nFitting benchmark model.") base_score, __ = self.fit_and_score_NMF(self.residuals) simple_print("Benchmark loss", base_score.sum())