Ggplot2 का उपयोग करके roc वक्र कैसे प्लॉट करें (उदाहरण के साथ)


लॉजिस्टिक रिग्रेशन एक सांख्यिकीय पद्धति है जिसका उपयोग हम रिग्रेशन मॉडल को फिट करने के लिए करते हैं जब प्रतिक्रिया चर द्विआधारी होता है। यह मूल्यांकन करने के लिए कि लॉजिस्टिक रिग्रेशन मॉडल डेटा सेट में कितनी अच्छी तरह फिट बैठता है, हम निम्नलिखित दो मैट्रिक्स देख सकते हैं:

  • संवेदनशीलता: संभावना है कि मॉडल किसी अवलोकन के लिए सकारात्मक परिणाम की भविष्यवाणी करता है जब परिणाम वास्तव में सकारात्मक होता है।
  • विशिष्टता: संभावना है कि मॉडल किसी अवलोकन के लिए नकारात्मक परिणाम की भविष्यवाणी करता है जब परिणाम वास्तव में नकारात्मक होता है।

इन दो मेट्रिक्स की कल्पना करने का एक सरल तरीका एक आरओसी वक्र बनाना है, जो एक ग्राफ है जो लॉजिस्टिक रिग्रेशन मॉडल की संवेदनशीलता और विशिष्टता को प्रदर्शित करता है।

यह ट्यूटोरियल बताता है कि ggplot2 विज़ुअलाइज़ेशन पैकेज का उपयोग करके R में ROC वक्र कैसे बनाएं और व्याख्या करें।

उदाहरण: ggplot2 का उपयोग करके ROC वक्र

मान लीजिए कि हम निम्नलिखित लॉजिस्टिक रिग्रेशन मॉडल को आर में फिट करते हैं:

 #load Default dataset from ISLR book
data <- ISLR::Default

#divide dataset into training and test set
set.seed(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 to training set
model <- glm(default~student+balance+income, family=" binomial ", data=train)

#use model to make predictions on test set
predicted <- predict(model, test, type=" response ")

परीक्षण सेट पर लॉजिस्टिक रिग्रेशन मॉडल के प्रदर्शन की कल्पना करने के लिए, हम pROC पैकेज से ggroc() फ़ंक्शन का उपयोग करके एक ROC प्लॉट बना सकते हैं:

 #load necessary packages
library (ggplot2)
library (pROC)

#define object to plot
rocobj <- roc(test$default, predicted)

#create ROC plot
ggroc(rocobj) 

Ggplot2 में ROC वक्र

y-अक्ष मॉडल की संवेदनशीलता (वास्तविक सकारात्मक दर) प्रदर्शित करता है और x-अक्ष मॉडल की विशिष्टता (वास्तविक नकारात्मक दर) प्रदर्शित करता है।

ध्यान दें कि हम प्लॉट में स्टाइल जोड़ सकते हैं और प्लॉट के एयूसी (वक्र के नीचे का क्षेत्र) युक्त एक शीर्षक भी प्रदान कर सकते हैं:

 #load necessary packages
library (ggplot2)
library (pROC)

#define object to plot and calculate AUC
rocobj <- roc(test$default, predicted)
auc <- round (auc(test$default, predicted), 4 )

#create ROC plot
ggroc(rocobj, color = ' steelblue ', size = 2 ) +
  ggtitle( paste0 (' ROC Curve ', ' (AUC = ', auc, ' ) ')) 

ggplot2 में AUC के साथ ROC वक्र

ध्यान दें कि आप कथानक की थीम को संशोधित भी कर सकते हैं:

 #create ROC plot with minimal theme
ggroc(rocobj, color = ' steelblue ', size = 2 ) +
  ggtitle( paste0 (' ROC Curve ', ' (AUC = ', auc, ' ) ')) +
  theme_minimal() 

Ggplot2 का उपयोग करके R में ROC वक्र

सर्वोत्तम ggplot2 थीम की मार्गदर्शिका के लिए इस लेख का संदर्भ लें।

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *