J'essaie de tracer une courbe ROC en utilisant Seaborn (Python). Avec matplotlib, j'utilise simplement la fonction plot
:
plt.plot(one_minus_specificity, sensitivity, 'bs--')
où one_minus_specificity
et sensitivity
sont deux listes de valeurs appariées.
Existe-t-il de simples homologues de la fonction de parcelle en mer-né? J'ai jeté un coup d'œil à la galerie, mais je n'ai trouvé aucune méthode simple.
Comme Seaborn utilise également matplotlib pour effectuer son tracé, vous pouvez facilement combiner les deux. Si vous voulez seulement adopter le style de seaborn the set_style
la fonction devrait vous aider à démarrer:
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set_style("darkgrid")
plt.plot(np.cumsum(np.random.randn(1000,1)))
plt.show()
Résultat:
Cela est possible en utilisant seaborn.lineplot()
mais cela implique un travail supplémentaire de conversion des tableaux numpy en pandas dataframe. Voici un exemple complet:
# imports
import seaborn as sns
import numpy as np
import pandas as pd
# inputs
In [41]: num = np.array([1, 2, 3, 4, 5])
In [42]: sqr = np.array([1, 4, 9, 16, 25])
# convert to pandas dataframe
In [43]: d = {'num': num, 'sqr': sqr}
In [44]: pdnumsqr = pd.DataFrame(d)
# plot using lineplot
In [45]: sns.set(style='darkgrid')
In [46]: sns.lineplot(x='num', y='sqr', data=pdnumsqr)
Out[46]: <matplotlib.axes._subplots.AxesSubplot at 0x7f583c05d0b8>
Et nous obtenons l'intrigue suivante: