Unseeded NTAC example ========================== This example shows how to use NTAC in unseeded mode, with the Flywire dataset. .. code-block:: python import ntac from ntac import Ntac, FAFBData import os from os.path import join import numpy as np # first download the flywire data we'll need for this example. This will be cached in ~/.ntac/flywire_data ntac.download_flywire_data(verbose=True) # This is where the data lives: base_path = join(os.path.expanduser("~"), ".ntac") # now we decide which part of the flywire dataset we want to use: side = "left" gender = "female" area = "ol_intrinsic" #we pick a small area to speed up the example data_path = join(base_path,f"flywire_data/dynamic_data/{gender}_brain/{area}") edges_file = f"{data_path}/{side}_edges.csv" types_file = f"{data_path}/{side}_clusters.csv" data = FAFBData(edges_file=edges_file, types_file=types_file) #No need to pass in labels, as we will be using the unseeded method nt = Ntac(data = data, labels = None, verbose=True) #print num unique labels print(f"Number of unique labels: {data.unique_labels.shape[0]}") nt.solve_unseeded( max_k=230 ) nt.map_partition_to_gt_labels(data.labels) partition = nt.get_partition() metrics = data.get_metrics(partition, np.array(range(data.n)), data.labels) print(f"Accuracy: {metrics['acc']:.3f} ARI: {metrics['ari']:.3f}", f"Weighted F1: {metrics['f1']:.3f}")