Я создаю авто-кодер, чтобы уменьшить размерность набора данных сгорания с 17 до 2.
Как показано на рисунке выше, есть определенные тенденции - выможно увидеть около трех строк.Я хочу разделить данные (без присмотра) на линейные кластеры, с которыми могут быть связаны будущие тестовые данные, и я изо всех сил пытаюсь найти способ сделать это.
Я смотрел на DBSCAN как наметод иерархической кластеризации (например, как здесь ).Я не уверен, подходит ли он, но мой код не работает на этом этапе:
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_)]
plt.scatter(z[0], z[1], c=cluster_colors, **plot_kwds)
, где z[0]
и z[1]
- это два измерения кластеризованных данных.Ошибка:
'ValueError: 'c' argument has 100 elements, which is not acceptable for use with 'x' with size 2, 'y' with size 2.'
Если вы предложили альтернативы, пожалуйста, дайте мне знать.Кроме того, мои данные велики (> 1 миллион очков в случаях).