def stashfig(name, **kws): if SAVEFIGS: savefig(name, foldername=FNAME, fmt=DEFAULT_FMT, dpi=DEFUALT_DPI, **kws)
def stashfig(name, **kws): savefig(name, foldername=FNAME, save_on=True, **kws)
def stashfig(name, **kws): savefig(name, foldername=FNAME, save_on=SAVEFIGS, **kws)
jaccard_embedding = mds.fit_transform(pdist_sparse) # %% [markdown] # # print("Clustering embedding") agmm = AutoGMMCluster(min_components=10, max_components=40, affinity="euclidean", linkage="single") labels = agmm.fit_predict(jaccard_embedding) pairplot(jaccard_embedding, title="AGMM o CMDS o Jaccard o Sensorimotor Paths", labels=labels) savefig("AGMM-CMDS-jaccard-sm-path") print("Finding mean paths") mean_paths = [] uni_labels = np.unique(labels) for ul in uni_labels: inds = np.where(labels == ul)[0] paths = path_mat[inds, :] mean_path = np.array(np.mean(paths, axis=0)) mean_paths.append(mean_path) mean_paths = np.squeeze(np.array(mean_paths)) # TODO remove sensory and motor indices from the matrix # %% [markdown] # #
def stashfig(name, **kws): if SAVEFIGS: savefig(name, foldername=FNAME, **kws)
def stashfig(name, **kws): savefig(name, foldername=FNAME, save_on=True, fmt="pdf", dpi=400, **kws)
def stashfig(name, **kws): savefig(name, foldername=FNAME, save_on=True, dpi=200, **kws) savefig(name + "high", foldername=FNAME, save_on=True, dpi=400, **kws)
for i, x in enumerate( np.arange(bins.shape[0] - 1, data.shape[-1], step=bins.shape[0] - 1) ): ax.axvline(x, linestyle="--", linewidth=1, color="grey") ax.set_xticks([]) ax.set_yticks([]) # ax.set_xlabel("Response over time") ax.set_ylabel("Neuron") ax.set_title(f"metric={metric}, linkage={linkage}") ax.set_xlabel(r"Response over time $\to$ (by source class)") xticks = [] for i, x in enumerate(np.arange((bins.shape[0] - 1)/2, data.shape[-1], step=bins.shape[0] - 1)): xticks.append(x) ax.set_xticks(xticks) ax.set_xticklabels(["Odor", "Photo", 'MN', "Temp", "uPN", "mPN", "vPN", "tPN", "KC", "MBON"]) savefig(f"response-mat-{metric}-{linkage}") # %% [markdown] # # # nci_hc_complete = linkage(y=nci_data, method="complete", metric="euclidean") # nci_hc_complete_4_clusters = cut_tree( # nci_hc_complete, n_clusters=4 # ) # Printing transpose just for space # pd.crosstab( # index=nci_data.index, # columns=nci_hc_complete_4_clusters.T[0], # rownames=["Cancer Type"], # colnames=["Cluster"], # )