Ich versuche, eine ROC-Kurve mit Seaborn (Python) zu zeichnen. Mit matplotlib benutze ich einfach die Funktion plot
:
plt.plot(one_minus_specificity, sensitivity, 'bs--')
woher one_minus_specificity
und sensitivity
sind zwei Listen gepaarter Werte.
Gibt es einfache Gegenstücke zur Handlungsfunktion in seaborn? Ich habe mir die Galerie angesehen, aber keine einfache Methode gefunden.
Da seaborn auch matplotlib zum Plotten verwendet, können Sie beide problemlos kombinieren. Wenn Sie nur das Styling von seaborn übernehmen möchten, können Sie set_style
Funktion sollte Ihnen den Einstieg erleichtern:
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()
Ergebnis:
Es ist möglich, dies mit seaborn.lineplot()
zu erledigen, erfordert jedoch einige zusätzliche Arbeit beim Konvertieren von numpy-Arrays in pandas dataframe. Hier ist ein vollständiges Beispiel:
# 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>
Und wir bekommen die folgende Handlung: