J'ai un jeu de données de N = 910 probabilités et des probabilités HTE sont représentés comme tous les entiers compris entre 5 et 90 divisibles par 5. Ceci constitue mon entrée X. Chaque probabilité a une réponse booléenne qui y est associée, les booléens étant codés à l'aide d'un 0 pour FALSE et 1 pour VRAI. Quelqu'un code pour recréer cela.
plt.scatter(x_inpt, y_inpt)
plt.ylabel("Decisions On Adminstering Experimental Treatment")
plt.xlabel("Harm probabilities")
plt.xticks(range(0, 101, 10))
plt.yticks([0.0, 1.0], labels=["No", "Yes"])
title_str = "Pilot Data From " + str(exp_count) + " Experiments / " + str(num_trials) + " trials"
plt.title(title_str)
plt.tight_layout()
plt.show()
3 Réponses :
Une solution peut-être idiote à ce sujet serait quelque chose comme le hachage chaque point basé sur (x, y), il est donc toujours unique et comptez cela:
# hash (x_inpt,y_input)
def hash(x,y):
# Dummy sum since we have two nice integer arrays
return x+y
hashed_output = hash(x_inpt, y_inpt)
x_y_weights = np.bincount(hashed_output)
color_for_each_sample = x_y_weights[hashed_output]
...
plt.scatter(x_inpt, y_inpt, c=color_for_each_sample)
plt.colorbar()
...
Voici une solution utilisant un compteur pour compter chaque x, y paire. Puis utiliser la dispersion pour changer la couleur ou la taille des points. Ou même un nombre sous forme de texte. La taille est proportionnelle à la zone du point, donc je l'ai carré dans la démo ci-dessous.
Juste pour montrer les possibilités, les trois manières sont combinées dans le code expérimental. En pratique, vous n'utiliseriez probablement que l'une des méthodes. P> Voici un autre exemple , supposant que les données ait une distribution binomiale et à l'aide de la coloration inversée sans les nombres. p>