Jak utworzyć macierz zamieszania w r (krok po kroku)


Regresja logistyczna to rodzaj regresji, którego możemy użyć, gdy zmienna odpowiedzi jest binarna.

Powszechnym sposobem oceny jakości modelu regresji logistycznej jest utworzenie macierzy zamieszania , czyli tabeli 2 × 2, która pokazuje przewidywane wartości modelu w porównaniu z rzeczywistymi wartościami testowego zbioru danych.

Poniższy przykład pokazuje krok po kroku, jak utworzyć macierz zamieszania w R.

Krok 1: Dopasuj model regresji logistycznej

W tym przykładzie użyjemy domyślnego zestawu danych z pakietu ISLR . Będziemy wykorzystywać status studenta, stan konta bankowego i roczny dochód, aby przewidzieć prawdopodobieństwo, że dana osoba nie spłaci pożyczki.

Poniższy kod pokazuje, jak dopasować model regresji logistycznej do tego zbioru danych:

 #load necessary packages
library (caret)
library (InformationValue)
library (ISLR)

#load dataset
data <-Default

#split dataset into training and testing set
set. seeds (1)
sample <- sample(c(TRUE, FALSE), nrow(data), replace= TRUE , prob=c(0.7,0.3))
train <- data[sample, ]
test <- data[!sample, ]

#fit logistic regression model
model <- glm(default~student+balance+income, family=" binomial ", data=train)

Krok 2: Utwórz macierz zamieszania

Następnie użyjemy funkcji cancelMatrix() z pakietu caret , aby utworzyć macierz zamieszania:

 #use model to predict probability of default
predicted <- predict(model, test, type="response")

#convert defaults from "Yes" and "No" to 1's and 0's
test$default <- ifelse(test$default==" Yes ", 1, 0)

#find optimal cutoff probability to use to maximize accuracy
optimal <- optimalCutoff(test$default, predicted)[1]

#create confusion matrix
confusionMatrix(test$default, predicted)

     0 1
0 2912 64
1 21 39

Krok 3: Oceń macierz zamieszania

Za pomocą macierzy zamieszania możemy również obliczyć następujące metryki:

  • Czułość: „wskaźnik prawdziwej pozytywności” – odsetek osób, które zgodnie z przewidywaniami modelu nie wywiążą się z zobowiązania.
  • Specyfika: „Współczynnik prawdziwie ujemny” – odsetek osób, które zgodnie z przewidywaniami modelu nie zrealizują zobowiązania.
  • Całkowity współczynnik błędnych klasyfikacji: Procent wszystkich błędnych klasyfikacji dokonanych przez model.

Poniższy kod pokazuje, jak obliczyć te metryki:

 #calculate sensitivity
sensitivity(test$default, predicted)

[1] 0.3786408

#calculate specificity
specificity(test$default, predicted)

[1] 0.9928401

#calculate total misclassification error rate
misClassError(test$default, predicted, threshold =optimal)

[1] 0.027

Całkowity poziom błędu klasyfikacji dla tego modelu wynosi 2,7% .

Ogólnie rzecz biorąc, im niższy jest ten wskaźnik, tym lepiej model jest w stanie przewidzieć wyniki. Dlatego ten konkretny model okazuje się bardzo skuteczny w przewidywaniu, czy dana osoba nie wywiąże się ze zobowiązań.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *