Jak wykreślić krzywą regresji logistycznej w pythonie
Możesz użyć funkcji regplot() z biblioteki wizualizacji danych seaborn, aby wykreślić krzywą regresji logistycznej w Pythonie:
import seaborn as sns sns. regplot (x=x, y=y, data=df, logistic= True , ci= None )
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: wykreślenie krzywej regresji logistycznej w Pythonie
W tym przykładzie użyjemy domyślnego zestawu danych z książki Wprowadzenie do uczenia się statystycznego . Możemy użyć następującego kodu, aby załadować i wyświetlić podsumowanie zbioru danych:
#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
Ten zbiór danych zawiera następujące informacje na temat 10 000 osób:
- default: wskazuje, czy dana osoba nie wywiązała się ze zobowiązania, czy nie.
- student: wskazuje, czy dana osoba jest studentem, czy nie.
- saldo: Średnie saldo utrzymywane przez osobę.
- dochód: Dochód osoby fizycznej.
Załóżmy, że chcemy skonstruować model regresji logistycznej, który wykorzystuje „bilans” do przewidywania prawdopodobieństwa niewypłacalności danej osoby.
Możemy użyć następującego kodu do wykreślenia krzywej regresji logistycznej:
#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 )
Oś x pokazuje wartości zmiennej predykcyjnej „saldo”, a oś y przedstawia przewidywane prawdopodobieństwo niewypłacalności.
Wyraźnie widać, że wyższe wartości równowagi wiążą się z większym prawdopodobieństwem niewypłacalności danej osoby.
Pamiętaj, że możesz także użyć scatter_kws i line_kws , aby zmienić kolory punktów i krzywej na wykresie:
#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 '})
Możesz swobodnie wybierać kolory, które chcesz na działce.
Dodatkowe zasoby
Poniższe samouczki zawierają dodatkowe informacje na temat regresji logistycznej:
Wprowadzenie do regresji logistycznej
Jak raportować wyniki regresji logistycznej
Jak przeprowadzić regresję logistyczną w Pythonie (krok po kroku)