Une note sur la façon de colorer en continu le diagramme de dispersion matplotlib.
Comme un point
facecolors
et ʻedgecolors fournis par
plt.scatter ()`
Il y en a deux.(20/01/24 10:34 postscript) J'ai modifié l'exemple de code ci-dessous en me faisant savoir la manière la plus simple dans les commentaires. Merci @kochory!
Nous avons visualisé l'intégration de faible dimension de l'ensemble de données sur le logement à Boston pour le problème de régression et la variable objective (prix de l'immobilier dans cet exemple) dans un diagramme de dispersion.
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_boston
from sklearn.manifold import TSNE
X, y = load_boston(return_X_y=True)
tsne = TSNE(n_components=2, random_state=0)
embX = tsne.fit_transform(X)
# 20/01/24 10:34 Corrigé en fonction des commentaires reçus
plt.scatter(embX[:, 0], embX[:, 1], c=y, cmap='coolwarm')
#Ce qui suit est le code avant l'ajout
#Point 1:Convertir y en tableau RGBA
#cm = plt.get_cmap('coolwarm') #Obtenez la palette de couleurs de matplotlib
#normalized_y = (y -y.min()) / (y.max() - y.min()) #Variable objective y à 0~Normalisé à 1
#color_levels = (normalized_y * 256).astype(int) #y plus 0~Convertir en 255
#colors = [cm(cl) for cl in color_levels] # cm(cl)Renvoie un tuple RGBA
#Point 2:Spécifiez l'argument des facecolors
#plt.scatter(embX[:, 0], embX[:, 1], s=10, facecolors=colors)
Recommended Posts