Я пытался реализовать DBSCAN с помощью scikit, и до сих пор не могу определить значения epsilon и min_sample, которые дадут мне значительное количество кластеров. Я попытался найти среднее значение в матрице расстояний и использовал значения по обе стороны от среднего, но не получил удовлетворительного количества кластеров:
Вход:
db=DBSCAN(eps=13.0,min_samples=100).fit(X)
labels = db.labels_
# Number of clusters in labels, ignoring noise if present.
n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)
print('Estimated number of clusters: %d' % n_clusters_)
вывод:
Estimated number of clusters: 1
Вход:
db=DBSCAN(eps=27.0,min_samples=100).fit(X)
Вывод:
Estimated number of clusters: 1
Также другая информация:
The average distance between any 2 points in the distance matrix is 16.8354
the min distance is 1.0
the max distance is 258.653
Также X, переданный в коде, является не матрицей расстояний, а матрицей векторов признаков. Скажите, пожалуйста, как мне определить эти параметры?