Я делаю упражнение для курса машинного обучения.Я добавил к матрице набор данных изображений в виде массивов в матрицу данных, затем стандартизировал его, а затем вычислил основные компоненты.Labels - это массив, содержащий для каждого изображения метку (то есть подкаталог, содержащий ее), который мне нужен для визуализации пар основных компонентов, в этой части первых двух.Профессором было предложено использовать функцию matplotli.scatter, я нашел функцию seaborn.scatterplot, которая кажется лучше, но ни с одним из них мне не удалось поставить легенду с именами меток.
pca = PCA()
X_t = pca.fit_transform(datamatrix)
X_r = pca.inverse_transform(X_t)
plt.figure(figsize=(25,5))
colours = ['r','g','b','p']
plt.subplot(1, 3, 1)
sns.scatterplot(X_t[:,0], X_t[:,1], hue=labels, palette=colours, legend='full')
plt.title('PC 1 and 2')
Я новичок в Python и в библиотеках машинного обучения
Редактировать: Как я и предлагал, я пытался изменить код:
data = {"x" : X_t[:,0], "y" : X_t[:,1], "label" : labels}
sns.scatterplot(x="x", y="y", hue="label", palette=colours, data=data, legend='full')
Но я получаю тот же результат: У меня есть легенда, но без названия надписи захват