in experiments/different_sketches.py [0:0]
def run_full_exp(self, verbose=True):
algo_mode = "mom"
mom_beta = None
step_size = None
mom_eta = 0.995 # increasing momentum parameter
# dict of the outputs
times = defaultdict(list)
residual_norms = {}
counter = 1
n_settings = len(self.solvers)
for solver in self.solvers:
if solver == "coordinate descent":
sketch_size = 1
sketch_size_formula = "1"
else:
sketch_size = self.sketch_size
sketch_size_formula = self.sketch_size_formula
run_name = self.dataset_name # solver
print(f"----> Setting {counter} over {n_settings} : {solver}")
(
times_distribution,
residual_norms_distribution,
) = self.compute_fit_time_and_residual(
solver, sketch_size, algo_mode, step_size, mom_beta, mom_eta,
)
# Storing the results
self.book_keeping(
run_name,
solver,
sketch_size_formula,
sketch_size,
times_distribution,
residual_norms_distribution,
times,
residual_norms,
)
counter += 1
print("\n")
# converting the outputs to dataframes
times_df = pd.DataFrame(times)
if verbose:
print(f"residual_norms:\n{residual_norms}")
residual_norms_df = pd.DataFrame.from_dict(
residual_norms, orient="index"
).transpose()
self.times_df = times_df
self.residual_norms_df = residual_norms_df
return times_df, residual_norms_df