Hoe een logistische regressiecurve in python te plotten
U kunt de functie regplot() van de seaborn datavisualisatiebibliotheek gebruiken om een logistieke regressiecurve in Python te plotten:
import seaborn as sns sns. regplot (x=x, y=y, data=df, logistic= True , ci= None )
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: een logistische regressiecurve uitzetten in Python
Voor dit voorbeeld gebruiken we de standaarddataset uit het boek Introduction to Statistical Learning . We kunnen de volgende code gebruiken om een samenvatting van de dataset te laden en weer te geven:
#import dataset from CSV file on Github url = "https://raw.githubusercontent.com/Statorials/Python-Guides/main/default.csv" data = pd. read_csv (url) #view first six rows of dataset data[0:6] default student balance income 0 0 0 729.526495 44361.625074 1 0 1 817.180407 12106.134700 2 0 0 1073.549164 31767.138947 3 0 0 529.250605 35704.493935 4 0 0 785.655883 38463.495879 5 0 1 919.588530 7491.558572
Deze dataset bevat de volgende informatie over 10.000 personen:
- standaard: geeft aan of een persoon in gebreke is gebleven of niet.
- student: geeft aan of een persoon student is of niet.
- saldo: Gemiddeld saldo dat door een individu wordt bijgehouden.
- inkomen: inkomen van het individu.
Stel dat we een logistisch regressiemodel willen construeren dat ‘balans’ gebruikt om de waarschijnlijkheid te voorspellen dat een bepaald individu in gebreke blijft.
We kunnen de volgende code gebruiken om een logistische regressiecurve uit te zetten:
#define the predictor variable and the response variable
x = data[' balance ']
y = data[' default ']
#plot logistic regression curve
sns. regplot (x=x, y=y, data=data, logistic= True , ci= None )
Op de x-as staan de waarden van de voorspellende variabele ‘balans’ en op de y-as staat de voorspelde kans op wanbetaling.
We kunnen duidelijk zien dat hogere evenwichtswaarden verband houden met een grotere kans dat een individu in gebreke blijft.
Merk op dat u ook scatter_kws en line_kws kunt gebruiken om de kleuren van de punten en de curve in de grafiek te wijzigen:
#define the predictor variable and the response variable
x = data[' balance ']
y = data[' default ']
#plot logistic regression curve with black points and red line
sns. regplot (x=x, y=y, data=data, logistic= True , ci= None ),
scatter_kws={' color ': ' black '}, line_kws={' color ': ' red '})
Voel je vrij om de kleuren te kiezen die je in de plot wilt hebben.
Aanvullende bronnen
De volgende zelfstudies bieden aanvullende informatie over logistische regressie:
Inleiding tot logistieke regressie
Hoe logistieke regressieresultaten te rapporteren
Logistieke regressie uitvoeren in Python (stap voor stap)