Ich habe eine Matrix von Daten X
, die n
x 2 ist und eine entsprechende Reihe von binären Etiketten y
, sagen, ob die i-th Person war ein Gewinner. Ich versuche, ein Streudiagramm mit einer Heatmap darüber zu erstellen, die die vorhergesagte Wahrscheinlichkeit zeigt, dass jeder Punkt auf dem Graphen ein Gewinner ist. Hier ist mein Code so weitHeatmap hinter 2D Scatter Matplotlib
import matplotlib.pyplot as plt
from sklearn.externals import joblib
from sklearn.linear_model import LogisticRegression
X = joblib.load('X.pkl')
y = joblib.load('y.pkl')
lr = LogisticRegression()
lr.fit(X, y)
plt.scatter(X[y == 1, 0], X[y == 1, 1], color='r', label='winners', s=1)
plt.scatter(X[y == 0, 0], X[y == 0, 1], color='b', label='losers', s=1)
plt.legend()
# Want to add a heatmap in the background for predicted probabilities here
plt.show()
Wesentlichen ich den Hintergrund wollen mehr rot sein, wo die vorhergesagte Wahrscheinlichkeit hoch, und mehr blau ist, wo es niedrig ist. Ich kann die Wahrscheinlichkeiten für eine Menge von Punkten unter Verwendung lr.predict_proba(X)[:0]
erhalten.
Wie kann ich den Hintergrund so einfärben, dass jeder Punkt (x1, x2) im Diagramm eine Farbe erhält, die auf der vorhergesagten Wahrscheinlichkeit des Gewinns basiert?
Sie haben Lesen Sie die Lösung in dieser [Frage] (http://stackoverflow.com/questions/2369492/generate-a-heatmap-in-matplotlib-using-a-scatter-data-set)? Streuung als Heatmap ist vielleicht nicht das Gleiche wie du willst, aber das könnte dir helfen. –