mg.calculate_degrees(inplace=True) meta = mg.meta adj = mg.adj meta["inds"] = range(len(meta)) # %% [markdown] # ## new np.random.seed(8888) mc = MaggotCluster( "0", adj=adj, meta=meta, n_init=25, stashfig=stashfig, max_clusters=8, n_components=None, embed="unscaled_ase", reembed=True, ) mc.fit_candidates() mc.plot_model(6) mc.plot_model(7) mc.select_model(6) np.random.seed(9999) for i, node in enumerate(mc.get_lowest_level()): print(node.name) print() node.fit_candidates()
# %% [markdown] # ## inds = np.concatenate((lp_inds.values, rp_inds.values)) pair_meta = meta.iloc[inds] pair_adj = pass_to_ranks(adj[np.ix_(inds, inds)]) from src.cluster import MaggotCluster n_levels = 8 metric = "bic" mc = MaggotCluster( "0", meta=pair_meta, adj=pair_adj, n_init=25, stashfig=stashfig, min_clusters=1, max_clusters=3, X=U, ) basename = "bilateral-omni" for i in range(n_levels): for j, node in enumerate(mc.get_lowest_level()): node.fit_candidates(show_plot=False) for j, node in enumerate(mc.get_lowest_level()): node.select_model(2, metric=metric) mc.collect_labels() fig, axs = plt.subplots(1, n_levels, figsize=(10 * n_levels, 30)) for i in range(n_levels):
stacked_barplot(pred_side, meta["merge_class"].values, color_dict=CLASS_COLOR_DICT) stashfig("omni-svd-reduced-barplot") # %% [markdown] # ## # # %% [markdown] # # ## np.random.seed(8888) mc = MaggotCluster( "0", adj=adj, meta=meta, n_init=50, # stashfig=stashfig, min_clusters=2, max_clusters=8, X=U, ) mc.fit_candidates() mc.plot_model(6) # %% [markdown] # ## mc.select_model(6) for node in mc.get_lowest_level(): node.fit_candidates() # %% [markdown]
# for color, we have {flat, multi (separate), joint (omni), reg (multi but with G)} # there seems to be no single embedding that is winning at everything. n_levels = 10 metric = "bic" bic_ratio = 1 d = 10 basename = f"aniso-omni-bic_ratio={bic_ratio}-d={d}" mc = MaggotCluster( "0", adj=adj, n_init=25, meta=new_meta, stashfig=stashfig, min_clusters=1, max_clusters=3, X=ase_flat_embed[:, :d], bic_ratio=bic_ratio, reembed=False, min_split=4, ) for i in range(n_levels): for j, node in enumerate(mc.get_lowest_level()): node.fit_candidates(show_plot=False) for j, node in enumerate(mc.get_lowest_level()): node.select_model(k=None, metric=metric) mc.collect_labels() n_levels = mc.height
reembed = p["reembed"] basename = f"-{p}".replace(" ", "") basename = basename.replace(":", "=") basename = basename.replace(",", "-") basename = basename.replace("'", "") print(basename) np.random.seed(8888) mc = MaggotCluster( "0", adj=adj, meta=meta, n_init=25, stashfig=stashfig, min_clusters=2, max_clusters=3, n_components=4, embed=embed, realign=realign, reembed=reembed, ) for i in range(n_levels): for j, node in enumerate(mc.get_lowest_level()): node.fit_candidates(plot_metrics=False) for j, node in enumerate(mc.get_lowest_level()): node.select_model(2, metric=metric) mc.collect_labels() fig, axs = plt.subplots(1, n_levels, figsize=(10 * n_levels, 30))
# embed = p["embed"] # realign = p["realign"] # reembed = p["reembed"] # basename = f"-{p}".replace(" ", "") # basename = basename.replace(":", "=") # basename = basename.replace(",", "-") # basename = basename.replace("'", "") # print(basename) # np.random.seed(8888) n_levels = 8 mc = MaggotCluster( "0", adj=adj, meta=meta, n_init=25, stashfig=stashfig, min_clusters=1, max_clusters=3, X=mvmds_embed, ) for i in range(n_levels): for j, node in enumerate(mc.get_lowest_level()): node.fit_candidates() for j, node in enumerate(mc.get_lowest_level()): node.select_model(2, metric=metric) mc.collect_labels() fig, axs = plt.subplots(1, n_levels, figsize=(10 * n_levels, 30)) for i in range(n_levels): ax = axs[i]
# ## inds = np.concatenate((lp_inds.values, rp_inds.values)) pair_meta = meta.iloc[inds] pair_adj = pass_to_ranks(adj[np.ix_(inds, inds)]) from src.cluster import MaggotCluster np.random.seed(888) n_levels = 8 metric = "bic" mc = MaggotCluster( "bilateral-reg-c-omni-0", meta=pair_meta, adj=pair_adj, n_init=25, stashfig=stashfig, min_clusters=1, max_clusters=3, X=U, ) basename = "bilateral-regulatized-color-omni" for i in range(n_levels): for j, node in enumerate(mc.get_lowest_level()): node.fit_candidates(show_plot=False) for j, node in enumerate(mc.get_lowest_level()): node.select_model(2, metric=metric) mc.collect_labels() fig, axs = plt.subplots(1, n_levels, figsize=(10 * n_levels, 30)) for i in range(n_levels):