Skip to content
This repository was archived by the owner on May 31, 2022. It is now read-only.

Commit f3952fa

Browse files
committed
add screenshots
1 parent 4f58ca0 commit f3952fa

9 files changed

+13
-10
lines changed

Screenshots/BH_eigenvalues.png

56.5 KB
Loading
59.9 KB
Loading
File renamed without changes.
File renamed without changes.
55.7 KB
Loading
22.2 KB
Loading

src/bethe_hessian_r_comparison.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from stochasticBlockModel import SBM
1313
from sklearn.metrics.cluster import normalized_mutual_info_score
1414

15-
n_vertices = 1000 # number of vertices
15+
n_vertices = 1500 # number of vertices
1616
n_communities = 2 # number of communities
1717

1818
# cin > cout is referred to as the assortative case
@@ -25,15 +25,15 @@
2525
best_r = np.sqrt(np.mean(sbm.average_degree))
2626
print("r = sqrt(average degree) = " + str(best_r))
2727

28-
x_axis = sorted([1, 2, 3, 3.5, 4, 6, 10, best_r])
28+
x_axis = sorted([1, 2, 3, 3.5, 4, 6, 15, best_r])
2929
y_axis = []
3030

3131
plt.figure(1)
3232

3333
for i, r in enumerate(x_axis):
3434
spectral_labels, eigvals, eigvects, W = SpectralClustering(n_communities, BetheHessian(sbm.adjacency_matrix, r), "BetheHessian") # spectral clustering
3535
plt.subplot(2,4,i+1)
36-
plt.title("Bethe Hessian eigenvalues with r = " + str(r))
36+
plt.title("r = " + str(r))
3737
plt.hist(eigvals, bins=100) # plot histogram of the eigenvalues
3838
nmi = normalized_mutual_info_score(sbm.community_labels, spectral_labels)
3939
if r == best_r: best_nmi = nmi
@@ -42,7 +42,7 @@
4242

4343
plt.figure(2)
4444
plt.ylim(0,1)
45-
plt.title("NMI = f(r)")
45+
plt.title("NMI = f(r), cin = {}, cout = {}, n_vertices = {}".format(cin, cout, n_vertices))
4646
plt.xlabel("r")
4747
plt.ylabel("NMI")
4848
plt.plot(x_axis, y_axis)

src/cin_cout_clustering_test.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from sklearn.metrics.cluster import normalized_mutual_info_score
1212
from spectralClustering import SpectralClustering
1313

14-
n_vertices = 700
14+
n_vertices = 2000
1515
x_step = 0.5
1616
x_axis = [(15,i) for i in np.arange(4,8,x_step)]
1717
yNMI_bethehessian = [0]*len(x_axis)
@@ -20,7 +20,7 @@
2020
yNMI_adjacency = [0]*len(x_axis)
2121

2222
n_communities = 2
23-
n_iterations = 2
23+
n_iterations = 4
2424

2525
for n in xrange(n_iterations):
2626
print("Iteration {}, {} left".format(n+1, n_iterations-n-1))
@@ -29,21 +29,25 @@
2929
sbm = SBM(n_vertices, n_communities, probability_matrix)
3030

3131
# BetheHessian matrix
32+
print("BetheHessian")
3233
spectral_labels, _, _, _ = SpectralClustering(n_communities, BetheHessian(sbm.adjacency_matrix), "BetheHessian")
3334
nmi = normalized_mutual_info_score(sbm.community_labels, spectral_labels)
3435
yNMI_bethehessian[i] += nmi
3536

3637
# Modularity matrix
38+
print("Modularity")
3739
spectral_labels, _, _, _ = SpectralClustering(n_communities, ModularityMatrix(sbm.adjacency_matrix), "ModularityMatrix")
3840
nmi = normalized_mutual_info_score(sbm.community_labels, spectral_labels)
3941
yNMI_modularity[i] += nmi
4042

4143
# Laplacian matrix
44+
print("Laplacian")
4245
spectral_labels, _, _, _ = SpectralClustering(n_communities, LaplacianMatrix(sbm.adjacency_matrix), "LaplacianMatrix")
4346
nmi = normalized_mutual_info_score(sbm.community_labels, spectral_labels)
4447
yNMI_laplacian[i] += nmi
4548

4649
# Adjacency matrix
50+
print("Adjacency")
4751
spectral_labels, _, _, _ = SpectralClustering(n_communities, sbm.adjacency_matrix, "AdjacencyMatrix")
4852
nmi = normalized_mutual_info_score(sbm.community_labels, spectral_labels)
4953
yNMI_adjacency[i] += nmi

src/n_communities_clustering_test.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,16 @@
1111
from sklearn.metrics.cluster import normalized_mutual_info_score
1212
from spectralClustering import SpectralClustering
1313

14-
n_vertices = 800
14+
n_vertices = 1800
1515
cin = 15
1616
cout = 5
17-
x_axis = range(1,6)
17+
x_axis = range(2,6)
1818
yNMI_bethehessian = [0]*len(x_axis)
1919
yNMI_modularity = [0]*len(x_axis)
2020
yNMI_laplacian = [0]*len(x_axis)
2121
yNMI_adjacency = [0]*len(x_axis)
2222

23-
24-
n_iterations = 1
23+
n_iterations = 3
2524

2625
for n in xrange(n_iterations):
2726
print("Iteration {}, {} left".format(n+1, n_iterations-n-1))

0 commit comments

Comments
 (0)