Я пытаюсь раскрасить каждый кластер, построенный из DBscan, в другой цвет. Я создал список цветов и попытался сделать так, чтобы код перебирал каждый кластер и наносил на него другой цвет, но он окрашивает все кластеры в один цвет, который является последним цветом из списка цветов (фиолетовый). Буду признателен за помощь.
import pandas as pd
from sklearn.cluster import DBSCAN
from collections import Counter
from sklearn.neighbors import NearestNeighbors
from matplotlib import pyplot as plt
import matplotlib
matplotlib.use('TkAgg')
eps = 4.3
model = DBSCAN(eps = eps,
min_samples = 210,
metric = 'euclidean'
)
data = model.fit(plotting_data)
X = plotting_data['X']
Y = plotting_data['Y']
clusters = data.fit_predict(plotting_data)
print(clusters)
clust_df = pd.DataFrame(plotting_data)
clusters = (clust_df[data.labels_ != -1])
labels = data.labels_
num_clusters = len(set(labels))
print(num_clusters)
color_list = ['green', 'blue', 'red', 'yellow', 'orange', 'magenta', 'cyan', 'purple']
labels = data.labels_
num_clusters = len(set(labels))
i = 0
for col in zip(color_list):
plt.scatter(clusters['X'],
clusters['Y'],
c = col
)
i += 1
plt.title("Clusters: " + str(num_clusters), fontsize = 13)
plt.show()
[! [Введите описание изображения здесь] [1]] [1]