import numpy as np from dyneusr import DyNeuGraph from dyneusr.datasets import make_trefoil from kmapper import KeplerMapper from sklearn.decomposition import PCA # Generate synthetic dataset import tadasets X = tadasets.sphere(n=500, r=1) # Sort by first column inds = np.argsort(X[:, 0]) X = X[inds].copy() y = np.arange(X.shape[0]) # Generate shape graph using KeplerMapper mapper = KeplerMapper(verbose=1) lens = mapper.fit_transform(X, projection=PCA(2)) graph = mapper.map(lens, X, nr_cubes=6, overlap_perc=0.5) # Visualize the shape graph using DyNeuSR's DyNeuGraph dG = DyNeuGraph(G=graph, y=y) dG.visualize('dyneusr2D_sphere.html', template='2D', static=True, show=True)
X = dataset.data y = dataset.target # Generate shape graph using KeplerMapper mapper = KeplerMapper(verbose=1) lens = mapper.fit_transform(X, projection=[0]) graph = mapper.map(lens, X, nr_cubes=6, overlap_perc=0.2) # Convert to a DyNeuGraph dG = DyNeuGraph(G=graph, y=y) # Define some custom_layouts dG.add_custom_layout(lens, name='lens') dG.add_custom_layout(nx.spring_layout, name='nx.spring') dG.add_custom_layout(nx.kamada_kawai_layout, name='nx.kamada_kawai') dG.add_custom_layout(nx.spectral_layout, name='nx.spectral') dG.add_custom_layout(nx.circular_layout, name='nx.circular') # Configure some projections pca = PCA(2, random_state=1) tsne = TSNE(2, init='pca', random_state=1) umap = UMAP(n_components=2, init=pca.fit_transform(X)) # Add projections as custom_layouts dG.add_custom_layout(pca.fit_transform(X), name='PCA') dG.add_custom_layout(tsne.fit_transform(X), name='TSNE') dG.add_custom_layout(umap.fit_transform(X, y=None), name='UMAP') # Visualize dG.visualize(static=True, show=True)
memory="nilearn_cache" ) 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 shape graph using DyNeuSR's DyNeuGraph dG = DyNeuGraph(G=graph, y=y) dG.visualize('dyneusr_haxby_decoding.html', static=True, show=True) # 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()
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)
from dyneusr import DyNeuGraph from dyneusr.datasets import make_trefoil from kmapper import KeplerMapper # Generate synthetic dataset dataset = make_trefoil(size=100) X = dataset.data y = dataset.target # Generate shape graph using KeplerMapper mapper = KeplerMapper(verbose=1) lens = mapper.fit_transform(X, projection=[0]) graph = mapper.map(lens, X, nr_cubes=6, overlap_perc=0.2) # Visualize the shape graph using DyNeuSR's DyNeuGraph dG = DyNeuGraph(G=graph, y=y) dG.visualize('dyneusr_trefoil_knot.html', static=True, show=True)
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.) ) dG = DyNeuGraph(G=graph, y=y) # Define some custom_layouts import networkx as nx from sklearn.decomposition import PCA from sklearn.manifold import TSNE dG.add_custom_layout(nx.spring_layout, name='nx.spring') dG.add_custom_layout(nx.kamada_kawai_layout, name='nx.kamada_kawai') dG.add_custom_layout(nx.spectral_layout, name='nx.spectral') dG.add_custom_layout(nx.circular_layout, name='nx.circular') dG.add_custom_layout(PCA(2).fit_transform(X), name='PCA') dG.add_custom_layout(TSNE(2).fit_transform(X), name='TSNE') # Visualize dG.visualize('dyneusr_custom_layouts.html', static=True, show=True)
import webbrowser from dyneusr import DyNeuGraph from dyneusr.datasets import make_trefoil from kmapper import KeplerMapper # Generate synthetic dataset dataset = make_trefoil(size=100) X = dataset.data y = dataset.target # Generate shape graph using KeplerMapper mapper = KeplerMapper(verbose=1) lens = mapper.fit_transform(X, projection=[0]) graph = mapper.map(lens, X, nr_cubes=6, overlap_perc=0.2) # Visualize the shape graph using DyNeuSR's DyNeuGraph dG = DyNeuGraph(G=graph, y=y) dG.visualize('dyneusr_trefoil_knot.html') # Explore/interact with the visualization in your browser webbrowser.open(dG.HTTP.url)
from dyneusr import DyNeuGraph from nilearn.datasets import fetch_haxby from nilearn.input_data import NiftiMasker from kmapper import KeplerMapper, Cover from sklearn.manifold import TSNE from sklearn.cluster import DBSCAN # Fetch dataset, extract time-series from ventral temporal (VT) mask dataset = fetch_haxby() masker = NiftiMasker( dataset.mask_vt[0], standardize=True, detrend=True, smoothing_fwhm=4.0, low_pass=0.09, high_pass=0.008, t_r=2.5, memory="nilearn_cache") 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)) graph = mapper.map(lens, X, cover=Cover(20, 0.5), clusterer=DBSCAN(eps=20.)) # Visualize the shape graph using DyNeuSR's DyNeuGraph dG = DyNeuGraph(G=graph, y=y) dG.visualize('haxby/haxby_output.html')
import pandas as pd from dyneusr import DyNeuGraph from nilearn.datasets import fetch_miyawaki2008 from nilearn.input_data import MultiNiftiMasker from kmapper import KeplerMapper, Cover from sklearn.manifold import TSNE from sklearn.cluster import DBSCAN # Fetch dataset, extract time-series from ventral temporal (VT) mask dataset = fetch_miyawaki2008() masker = MultiNiftiMasker(mask_img=dataset.mask, detrend=True, standardize=False) 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)) graph = mapper.map(lens, X, cover=Cover(20, 0.5), clusterer=DBSCAN(eps=20.)) # Visualize the shape graph using DyNeuSR's DyNeuGraph dG = DyNeuGraph(G=graph) dG.visualize('output.html')
memory="nilearn_cache" ) 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 shape graph using DyNeuSR's DyNeuGraph dG = DyNeuGraph(G=graph, y=y) dG.visualize('dyneusr4D_haxby_decoding.html', template='4D', static=True, show=True) # 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()
from dyneusr import DyNeuGraph from dyneusr.datasets import make_trefoil from kmapper import KeplerMapper # Generate synthetic dataset dataset = make_trefoil(size=100) X = dataset.data y = dataset.target # Generate shape graph using KeplerMapper mapper = KeplerMapper(verbose=1) lens = mapper.fit_transform(X, projection=[0]) graph = mapper.map(lens, X, nr_cubes=6, overlap_perc=0.2) # Visualize the shape graph using DyNeuSR's DyNeuGraph dG = DyNeuGraph(G=graph, y=y) dG.visualize('dyneusr4D_trefoil_knot.html', template='4D', static=True, show=True)