Ein Hinweis zum kontinuierlichen Färben des Matplotlib-Streudiagramms.
Als Punkt
facecolors
und edgecolors
vonplt.scatter ()
Es gibt zwei.(20/01/24 10:34 postscript) Ich habe das folgende Codebeispiel geändert, indem ich mich in den Kommentaren über den einfacheren Weg informiert habe. Danke @kochory!
Wir haben die niedrigdimensionale Einbettung des Datensatzes Boston Housing für das Regressionsproblem und die Zielvariable (Immobilienpreis in diesem Beispiel) in einem Streudiagramm visualisiert.
%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 Korrigiert aufgrund der eingegangenen Kommentare
plt.scatter(embX[:, 0], embX[:, 1], c=y, cmap='coolwarm')
#Das Folgende ist der Code vor dem Hinzufügen
#Punkt 1:Konvertieren Sie y in ein RGBA-Array
#cm = plt.get_cmap('coolwarm') #Holen Sie sich die Farbkarte von Matplotlib
#normalized_y = (y -y.min()) / (y.max() - y.min()) #Zielvariable y bis 0~Normalisiert auf 1
#color_levels = (normalized_y * 256).astype(int) #y weiter 0~In 255 konvertieren
#colors = [cm(cl) for cl in color_levels] # cm(cl)Gibt ein RGBA-Tupel zurück
#Punkt 2:Geben Sie Argumente für Gesichtsfarben an
#plt.scatter(embX[:, 0], embX[:, 1], s=10, facecolors=colors)
Recommended Posts