Утерянная информация при уменьшении размерности с помощью 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 или, может быть, это плохая задача кластеризации. Пытался как-то поменять, но не вышло.