X = masker.fit_transform(dataset.func[0]) # Encode labels as integers df = pd.read_csv(dataset.session_target[0], sep=" ") target, labels = pd.factorize(df.labels.values) y = pd.DataFrame({l: (target == i).astype(int) for i, l in enumerate(labels)}) # Generate shape graph using KeplerMapper mapper = KeplerMapper(verbose=1) lens = mapper.fit_transform(X, projection=TSNE(2, random_state=1)) graph = mapper.map(lens, X=X, cover=Cover(20, 0.5), clusterer=DBSCAN(eps=20.)) # Visualize the stages of Mapper fig, axes = visualize_mapper_stages(dataset, y=target, lens=lens, graph=graph, cover=mapper.cover, node_size=20, edge_size=0.5, edge_color='gray', layout="kamada_kawai", figsize=(16, 4)) plt.savefig("mapper_stages.png", dpi=600, background='transparent') plt.show() # Visualize the shape graph using DyNeuSR's DyNeuGraph dG = DyNeuGraph(G=graph, y=y) dG.visualize('dyneusr_haxby_decoding.html', port=8800) webbrowser.open(dG.HTTP.url)
X = dataset.data y = dataset.target # Define projections to compare projections = ([0], [0, 1], [1, 2], [0, 2]) # Compare different sets of columns as lenses for projection in projections: # Generate shape graph using KeplerMapper mapper = KeplerMapper(verbose=1) lens = mapper.fit_transform(X, projection=projection) graph = mapper.map(lens, X, nr_cubes=4, overlap_perc=0.3) # Visualize the stages of Mapper fig, axes = visualize_mapper_stages(dataset, lens=lens, graph=graph, cover=mapper.cover, layout="spectral", figsize=(16, 4)) # Save each figure plt.savefig("mapper_lens_{}.png".format("_".join( str(_) for _ in projection)), dpi=600, background='transparent') # Show all figures plt.show()