Утерянная информация при уменьшении размерности с помощью umap

Я работаю с базой данных треков Spotify и пытаюсь понять, как танцевальность, живость и энергия колонок влияют на популярность (используйте дискретную популярность: -1, 0, 1). Я хочу уменьшить размерность с трех столбцов до двух. Вот фрагмент:

      reducer = umap.UMAP(n_neighbors=10, min_dist=0.1)
X_reduced = reducer.fit_transform(X)

plt.figure(figsize=(10, 5))
plt.title('Projecting %d-dimensional data to 2D' % X.shape[1])
plt.scatter(X_reduced[:, 0], X_reduced[:, 1], c=y, edgecolor='none', s=20,
            cmap=ListedColormap(['yellow', 'red', 'green']))
plt.colorbar(ticks=range(3), label='popularity value')
plt.show()

Но этот код показывает мне данные, где популярные и непопулярные треки идентичны (рисунок 1), в то время как мне нужно получить данные с 3 разными кластерами (рисунок 2).рисунок 1рисунок 2

Думаю, что проблема может быть в параметрах umap или, может быть, это плохая задача кластеризации. Пытался как-то поменять, но не вышло.

0 ответов

Другие вопросы по тегам