Для работы с поисковыми данными, какой метод кластеризации будет лучшим? В настоящее время я использую HDBSCAN. Проблема в том, что результаты, которые я получаю от использования HDBSCAN в R, отличаются от результатов, полученных через HDSCBAN в Python.
R версия: https://rdrr.io/cran/largeVis/man/hdbscan.html
Ссылка на файл данных для R: https://www.dropbox.com/s/731hjrj0geibi3f/test.csv?dl=0
test_r <- data.frame("data")
vis <- largevis::largevis(test_r)
cluster <- largevis::hdbscan(vis)
largevis::gplot(cluster,t(vis$coords), text = TRUE)
![OUTPUT of R](https://i.stack.imgur.com/DZ9Ik.png)
Версия Python: https://github.com/scikit-learn-contrib/hdbscan/tree/master/hdbscan
Ссылка на файл данных для Python: https://www.dropbox.com/s/640elbjr1xt8q3e/test_projection.txt?dl=0
%pylab
import hdbscan
import numpy as np
import seaborn as sns
import matplotlib.pyploy as plt
import pandas as pd
projection = np.loadtxt("data")
projection = projection[1:1001,:]
clusterer = hdbscan.HDBSCAN(min_cluster_size=20, gen_min_span_tree=True)
clusterer.fit(projection)
palette = sns.color_palette()
cluster_colors = [sns.desaturate(palette[col], sat)
if col >= 0 else (0.5, 0.5, 0.5) for col, sat in
zip(clusterer.labels_, clusterer.probabilities_)]
fig = plt.scatter(panc_projection.T[0], panc_projection.T[1], c= cluster_colors)
![OUTPUT of Python](https://i.stack.imgur.com/78hDH.png)
В чем причина различий между выходными данными двух версий и как определить точность результатов (то есть количество кластеров, размер кластера и шум)
http://hdbscan.readthedocs.io/en/latest/basic_hdbscan.html