كيفية رسم منحنى roc باستخدام ggplot2 (مع أمثلة)


الانحدار اللوجستي هو طريقة إحصائية نستخدمها لتناسب نموذج الانحدار عندما يكون متغير الاستجابة ثنائيًا. لتقييم مدى ملاءمة نموذج الانحدار اللوجستي لمجموعة البيانات، يمكننا النظر إلى المقياسين التاليين:

  • الحساسية: احتمال أن يتنبأ النموذج بنتيجة إيجابية لملاحظة ما عندما تكون النتيجة إيجابية بالفعل.
  • الخصوصية: احتمال أن يتنبأ النموذج بنتيجة سلبية لملاحظة ما عندما تكون النتيجة سلبية بالفعل.

إحدى الطرق البسيطة لتصور هذين المقياسين هي إنشاء منحنى ROC ، وهو رسم بياني يعرض حساسية وخصوصية نموذج الانحدار اللوجستي.

يشرح هذا البرنامج التعليمي كيفية إنشاء وتفسير منحنى ROC في R باستخدام حزمة التصور ggplot2.

مثال: منحنى ROC باستخدام ggplot2

لنفترض أننا نلائم نموذج الانحدار اللوجستي التالي في R:

 #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 ")

لتصور أداء نموذج الانحدار اللوجستي في مجموعة الاختبار، يمكننا إنشاء مخطط ROC باستخدام الدالة ggroc() من حزمة pROC :

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

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

#create ROC plot
ggroc(rocobj) 

منحنى ROC في ggplot2

يعرض المحور y الحساسية (المعدل الإيجابي الحقيقي) للنموذج ويعرض المحور x خصوصية النموذج (المعدل السلبي الحقيقي).

لاحظ أنه يمكننا إضافة تصميم إلى قطعة الأرض وتوفير عنوان يحتوي أيضًا على AUC (المساحة الموجودة أسفل المنحنى) للقطعة:

 #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, ' ) ')) 

منحنى ROC مع AUC في ggplot2

لاحظ أنه يمكنك أيضًا تعديل موضوع الحبكة:

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

منحنى ROC في R باستخدام ggplot2

ارجع إلى هذه المقالة للحصول على دليل لأفضل سمات ggplot2.

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *