Из pd-файла hdbscan на сайте создателя можно узнать количество кластеров, получив максимальное значение из меток, например:
clusterer.labels_.max()
Однако при запуске это дает число в тысячах , но когда я запускаю это вместо:
len(pd.Series(clusterer.labels_).unique())
Это выводит 183 как число кластеров. Когда я проверил маркировку, я заметил, что HDBSCAN «пропускает» некоторые номера при назначении номеров кластеров.
Что дает? Это нормально, или что-то не так с моим использованием? Код, сгенерировавший это ниже:
import hdbscan
clusterer = hdbscan.HDBSCAN(min_cluster_size=200)
clusterer.fit(df)
df["cluster_label"] = pd.Series(clusterer.labels_)
len(filtered_df.cluster_label.unique())
>>> 183