Как рассчитать количество кластеров в спектральной кластеризации, используя эвристику собственных щелей - PullRequest
0 голосов
/ 06 апреля 2020

Я хотел бы рассчитать оптимальное количество кластеров для спектральной кластеризации, но по какой-то причине следующий фрагмент большую часть времени возвращает 1. Это, очевидно, не тот случай. Как мне изменить код, чтобы получить приличное значение?

import numpy as np
import networkx as nx
import numpy.linalg as la

G = nx.powerlaw_cluster_graph(100, 1, 0.0)

A = nx.adjacency_matrix(G)
D = np.diag(np.ravel(np.sum(A, axis=1)))
L = D-A

l, U = la.eigh(L)
f = U[:, 1]
labels = np.ravel(np.sign(f))

k = np.argmin(np.ediff1d(np.flipud(l))) + 1
print(k)

source

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...