مصفوفة الارتباك في R: كيف تصنع وتحسب [مع أمثلة]

نشرت: 2021-03-09

برزت R كواحدة من حزم البرامج الرائدة للبيانات والتحليل الإحصائي اليوم. إنها بيئة مفتوحة المصدر مفضلة لما تتمتع به من قدرات قوية في الحوسبة والبصرية والرسومات. إذا كنت طالب هندسة ، أو متخصصًا في تحليل الأعمال ، أو شخصًا لديه اهتمام كبير بعلوم البيانات ، فإن تعلم لغة البرمجة R يمكن أن يساعدك في كثير من الطرق.

في هذه المقالة ، سوف نغطي بعض المفاهيم الأساسية للتعلم الآلي من خلال هذه المجموعة المتكاملة. بشكل أكثر تحديدًا ، سنناقش كيفية حساب مصفوفة الارتباك في R.

ولكن قبل أن ننتقل إلى الجوانب الفنية ، دعونا أولاً نفهم سبب اختيارنا R لهذا الغرض. بسبب الفوائد التالية ، تكتسب لغة البرمجة هذه شعبية بين الإحصائيين وعلماء البيانات في جميع أنحاء العالم:

  • قابل للتكرار: باستخدام R ، يمكنك إعادة إنتاج التقارير وكتابة تعليمات برمجية قابلة لإعادة الاستخدام
  • قابلة للمشاركة: لديها منحنى تعليمي منخفض ، مما يفتح سبل التعاون
  • قابل للتكرار: لا يستطيع أي شخص فهم ما فعلته فحسب ، بل يمكنه أيضًا تكرار الخطوات لإنشاء الوظائف نفسها على أجهزته

كما انتشر استخدام لغة R في مجال التعلم الآلي للأسباب المذكورة أعلاه. لست بحاجة إلى أن تكون مبرمجًا خبيرًا لفهم تركيبها. وبالتالي ، نقدم لك بعض الأساسيات في القسم التالي.

جدول المحتويات

ما هي مصفوفة الارتباك؟

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

لمزيد من التفصيل ، تتبع مصفوفة الارتباك تنسيق N x N ، حيث يشير N إلى الرقم إلى الفئات المستهدفة. يمكنك استخدام هذا الجدول أو المصفوفة لتقييم أداء نموذج التصنيف. هذا ممكن لأن المصفوفة تقارن القيم المتوقعة مع القيم المستهدفة.

باختصار ، يمكنك وصف كيفية عمل نموذج التعلم الآلي ، المصنف ، في هذه الحالة ، على مجموعة من بيانات الاختبار (التي لديك بالفعل القيم الحقيقية لها).

لفهم هذه الطريقة ، يجب أن تكون على دراية بالمصطلحات التالية:

  • موجب حقيقي (TP): يتم توقع القيم الموجبة بشكل صحيح
  • إيجابية كاذبة (FP): يتم توقع القيم السلبية بشكل غير صحيح على أنها موجبة
  • سلبي كاذب (FN): القيم الموجبة المتوقعة على أنها سلبية
  • True Negative (TN): القيم السالبة المتوقعة كقيم سالبة فعلية

دعونا نلقي نظرة على بعض الأمثلة لاكتساب المزيد من الوضوح.

أمثلة مصفوفة الارتباك

  • صحيح إيجابي

عندما توقعت فوز الهند بكأس العالم للكريكيت ، وفازت.

  • إيجابية كاذبة

عندما كنت تتوقع فوز الهند ، لكنها خسرت.

  • سلبي خطأ

عندما توقعت أن فرنسا لن تفوز ، لكنها انتصرت.

  • سلبي حقيقي

عندما توقعت أن الهند "لن تفوز" بكأس العالم للكريكيت وخسرت السلسلة في الحياة الواقعية.

بينما نمضي قدمًا ، يجب أن تتذكر أن جميع القيم المتوقعة موصوفة على النحو التالي: موجب ، وسلبي ، وصحيح ، وخطأ.

كيف تحسب مصفوفة الارتباك في R؟

ضع في اعتبارك سيناريو يكون لديك فيه قائمة بالقيم المتوقعة أو المعروفة وقائمة أخرى من التنبؤات من نموذج التعلم الآلي الخاص بك. في R ، يمكنك حساب مصفوفة الارتباك باستخدام وظيفة بسيطة من مكتبة الإقحام: confusionMatrix (). لا يمكنها فقط حساب المصفوفة ولكن أيضًا إرجاع تقرير مفصل عن النتائج.

يمكنك اتباع الخطوات المذكورة أدناه لممارسة عملية التنقيب عن البيانات:

  • اختبر مجموعة البيانات المقدمة بالنتائج المتوقعة.
  • توقع صفوف مجموعة بيانات الاختبار الخاصة بك.
  • تحديد العدد الإجمالي للتنبؤات الصحيحة وغير الصحيحة لكل فئة.

بمجرد القيام بذلك ، ستجد الأرقام مرتبة بالطريقة التالية:

  • سيتوافق كل صف من المصفوفة مع فئة متوقعة وسيتم ربط كل عمود بفصل فعلي.
  • يتم عرض إجمالي عدد التصنيفات الصحيحة وغير الصحيحة في الجدول ، جنبًا إلى جنب مع مجموع كل فئة.

افترض أن لديك 10 أشخاص مقسمين إلى فئتين ، ذكور وأنثى. يجب عليك ترتيب المعلومات كمصفوفة ارتباك عندما تعلم أن رجلين تم تصنيفهما على أنهما نساء ، بينما تم تصنيف امرأة واحدة على أنها رجل.

الرجال النساء

النساء 3 1

الرجال 2 4

هنا ، يتم تنظيم القيم الصحيحة في خط قطري من أعلى اليسار إلى أسفل يمين المصفوفة (3 + 4). تخبرنا النتائج أن هناك أخطاء في توقع الأعضاء الذكور كنساء أكثر من توقع الإناث كرجال. قدمت الخوارزمية 7 تنبؤات صحيحة من أصل 10 نتائج محتملة ، مما يعني أنها تتمتع بدقة 70٪.

دليل لعمل وحساب مصفوفة C onfusion في R.

كما يمكنك أن تلاحظ ، فإن وظيفة مصفوفة الارتباك هي أداة مفيدة لفحص النتائج المحتملة لتوقعاتك. لذا ، قبل أن تبدأ في إنشاء المصفوفة الخاصة بك ، تحتاج أولاً إلى "قطع" قيم الاحتمالات الخاصة بك. بمعنى آخر ، تحتاج إلى تحديد عتبة لتحويل احتمالاتك إلى تنبؤات بالفصل.

للقيام بذلك ، يمكنك استخدام وظيفة ifelse (). علي سبيل المثال:

class_prediction <-

ifelse (توقع_احتمالية> 0.50 ،

"فئة_إيجابية" ،

"فئة_السلبية"

)

يمكنك أيضًا كتابة دالة table () لإنشاء جدول طوارئ في القاعدة R. ومع ذلك ، من المعروف أن وظيفة confusionMatrix () تنتج إحصائيات مساعدة قيمة.

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

مصفوفة (متوقعة ، فعلية)

الآن ، يجب أن تشرع في تحويل تنبؤاتك الرقمية إلى متجه لتنبؤات الفصل ، جلس p_class. افترض أنك تريد استخدام حد 0.50.

أيضًا ، أثناء عمل التنبؤات ، لا تنس تسمية الفئات الإيجابية والسلبية بمؤشرات منفصلة. دعنا نسمي الفئات الإيجابية "T" ونسمي الفئات السلبية بـ "L". يتم ذلك لمطابقة الفئات مع البيانات الأصلية.

الآن بعد أن أصبح لديك فئة p_class وقيمًا فعلية في مجموعة بيانات الاختبار ، يمكنك البدء في تكوين مصفوفة الارتباك الخاصة بك ، واستدعاء وظيفة confusionMatrix ().

بدلاً من ذلك ، قد ترغب في التأكد من دقة نموذج استخراج البيانات الخاص بك. في مثل هذه الحالات ، يُنصح باستخدام حد 0.10 وليس 0.90. بعد ذلك ، يمكنك المتابعة بنفس الخطوات التي اتبعتها في التمرين السابق.

باستخدام فصولك الدراسية الجديدة المتوقعة ، يمكنك تكرار هذه المكالمة:

pred <- ifelse (probability> threshold، "T"، "L")

أخيرًا ، يمكنك استخدام وظيفة confusionMatrix () في علامة الإقحام:

مصفوفة (متوقعة ، فعلية)

بهذا ، نختتم هذا البرنامج التعليمي حول وظيفة مصفوفة الارتباك للتعلم الآلي في R. آمل أن تكون قد وجدت أنها مفيدة!

خاتمة

إذا كنت مهتمًا بالتعرف على R وعلوم البيانات ، فراجع دبلوم PG في علوم البيانات الذي تم إنشاؤه للمهنيين العاملين ويقدم أكثر من 10 دراسات حالة ومشاريع ، وورش عمل عملية عملية ، وإرشاد مع خبراء الصناعة ، 1-on- 1 مع مرشدين في المجال ، +400 ساعة من التعلم والمساعدة في العمل مع الشركات الكبرى.

ما هي الحاجة إلى إنشاء مصفوفة ارتباك؟

توضح لنا الأسباب التالية فوائد وجود مصفوفة الارتباك وكيف تتعامل مع مشكلات الأداء.
1. هناك حاجة إلى مصفوفة الارتباك للقضاء على المشكلة بدقة التصنيف. غالبًا ما تسبب نسبة التصنيف بعض المشكلات من خلال إخفاء التفاصيل الضرورية للنموذج.
2. تعطي مصفوفة الارتباك نظرة ثاقبة للتنبؤات ونوع الأخطاء التي حدثت في نموذج التصنيف. يتم تقديم التنبؤات الصحيحة والخاطئة بطريقة مختصرة.
3. يتم تصنيف الأخطاء وأنواعها لمنحك فهمًا لأداء نموذجك.

كيف تحسب مصفوفة الارتباك في R؟

يمكن حساب مصفوفة الارتباك في R باستخدام وظيفة "confusionMatrix ()" لمكتبة علامة الإقحام. لا تقوم هذه الوظيفة بحساب المصفوفة فحسب ، بل تقوم أيضًا بإرجاع تقرير مفصل عن المصفوفة. يجب عليك اتباع بعض الخطوات من أجل حساب مصفوفة الارتباك الخاصة بك.
1. اختبر مجموعة البيانات الخاصة بك.
2. توقع العدد الإجمالي للصفوف.
3. توقع إجمالي التوقعات الصحيحة وغير الصحيحة لكل فصل.
بمجرد تعدين بياناتك ، ستحصل على الأرقام منظمة في صفوف. سيتم توصيل الصفوف بالفئة المتوقعة بينما سيتم توصيل الأعمدة بالفصل الفعلي. ستكون القيم الصحيحة في خط قطري. أضف كل القيم وستحصل على نسبة دقة المصفوفة الخاصة بك.

كيف تقيس الأداء في مصفوفة الارتباك؟

يمكنك حساب معدل الدقة لنموذج باستخدام مصفوفة ارتباك 2 × 2. ستحصل على الصيغة التالية معدل النجاح أو معدل الدقة:
الدقة = (TP + TN) / (TP + TN + FP + FN)
حيث ، TP = موجب حقيقي ، TN = سلبي حقيقي ، FP = موجب خطأ ، FN = سلبي كاذب
يمكن أيضًا حساب معدل الخطأ في النموذج الخاص بك باستخدام صيغة حساب المعدل وهي:
الدقة = (TP + TN) / (TP + TN + FP + FN) = 1-الدقة
مفهوم معدل الخطأ بسيط للغاية. لنفترض أن معدل دقة نموذجك يبلغ 80٪ ، فإن معدل الخطأ لنموذجك سيكون 20٪.