مصفوفة الارتباك في التعلم الآلي: الحل الشامل الخاص بك



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

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

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





2. دقة ومكونات مصفوفة الارتباك

3. الدقة والاستدعاء والتدبير F



4. إنشاء مصفوفة الارتباك باستخدام Python و Sklearn

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

مصفوفة الارتباك هي ملخص المقارنة للنتائج المتوقعة والنتائج الفعلية في أي حالة استخدام مشكلة تصنيف. يعد ملخص المقارنة ضروريًا للغاية لتحديد أداء النموذج بعد أن يتم تدريبه ببعض بيانات التدريب. Accuracy-Confusion-Matrixبالنسبة لحالة استخدام التصنيف الثنائي ، فإن مصفوفة الارتباك هي مصفوفة 2 × 2 كما هو موضح أدناه
قيمة الفئة 1 المتوقعة على سبيل المثال: 1 قيمة الفئة 2 المتوقعة مثال: 0
القيمة الفعلية للفئة 1

على سبيل المثال: 1

TP (إيجابي حقيقي) FN (سلبي كاذب)
القيمة الفعلية للفئة 2



مثال: 0

FP (إيجابي كاذب) TN (سلبي حقيقي)

من الشكل أعلاه:
نحن لدينا،

هو دراسات عليا مثل الماجستير
  • القيمة الفعلية للفئة 1 = 1 والتي تشبه القيمة الإيجابية في نتيجة ثنائية.
  • القيمة الفعلية للفئة 2 = 0 والتي تشبه القيمة السالبة في النتيجة الثنائية.

يشير فهرس الجانب الأيسر من مصفوفة الارتباك بشكل أساسي إلى القيم الفعلية ويشير العمود العلوي إلى القيم المتوقعة.

توجد العديد من المكونات عندما نقوم بإنشاء مصفوفة الارتباك. المكونات مذكورة أدناه

إيجابي (P): النتيجة المتوقعة إيجابية (مثال: الصورة قطة)

سلبي (N): النتيجة المتوقعة سلبية (مثال: الصور ليست قطة)

إيجابي حقيقي (TP): هنا يشير TP بشكل أساسي إلى القيم المتوقعة والفعلية هي 1 (صواب)

سلبي حقيقي (TN): هنا يشير TN إلى القيمة المتوقعة والقيمة الفعلية هي 0 (خطأ)

سلبي كاذب (FN): هنا يشير FN إلى أن القيمة المتوقعة هي 0 (سلبية) والقيمة الفعلية هي 1. هنا لا تتطابق كلا القيمتين. ومن ثم فهي سلبية كاذبة.

إيجابية كاذبة (FP): هنا يشير FP إلى أن القيمة المتوقعة هي 1 (موجب) والقيمة الفعلية هي 0. هنا مرة أخرى كلا القيمتين غير متطابقتين. ومن ثم فهي إيجابية كاذبة.

دقة ومكونات مصفوفة الارتباك

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

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

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

  • TPR (المعدل الإيجابي الحقيقي) أو الحساسية:

المعدل الإيجابي الحقيقي الذي يُعرف أيضًا باسم الحساسية يقيس النسبة المئوية للإيجابية الحقيقية فيما يتعلق بإجمالي الإيجابيات الفعلية والتي يشار إليها بواسطة (TP + FN)

قيمة الفئة 1 المتوقعة على سبيل المثال: 1 قيمة الفئة 2 المتوقعة مثال: 0 مجموع
القيمة الفعلية للفئة 1

على سبيل المثال: 1

TP (إيجابي حقيقي) FN (سلبي كاذب) إجمالي الإيجابيات الفعلية
القيمة الفعلية للفئة 2

مثال: 0

FP (إيجابي كاذب)TN (سلبي حقيقي)إجمالي السلبيات الفعلية
TPR = إيجابي حقيقي / (إيجابي حقيقي + سلبي كاذب
  • TNR (معدل سلبي حقيقي) أو خصوصية:

المعدل السلبي الحقيقي أو الخصوصية يقيس نسبة السلبيات الفعلية فيما يتعلق بالسلبيات الإجمالية

قيمة الفئة 1 المتوقعة على سبيل المثال: 1 قيمة الفئة 2 المتوقعة مثال: 0 مجموع
القيمة الفعلية للفئة 1

على سبيل المثال: 1

TP (إيجابي حقيقي)FN (سلبي كاذب)إجمالي الإيجابيات الفعلية
القيمة الفعلية للفئة 2

مثال: 0

FP (إيجابي كاذب) TN (سلبي حقيقي) إجمالي السلبيات الفعلية

TNR = سلبي حقيقي / (سلبي حقيقي + إيجابي خطأ)

  • المعدل الإيجابي الكاذب (FPR):

المعدل الإيجابي الكاذب هو النسبة المئوية للتنبؤ بالإيجابية الكاذبة (FP) إلى إجمالي عدد النتائج الإيجابية المتوقعة (TP + FP).

قيمة الفئة 1 المتوقعة على سبيل المثال: 1 قيمة الفئة 2 المتوقعة مثال: 0
القيمة الفعلية للفئة 1 EG: 1 TP (إيجابي حقيقي) FN (سلبي كاذب)
القيمة الفعلية للفئة 2 EG: 0 FP (إيجابي كاذب) TN (سلبي حقيقي)
مجموع الإجمالي المتوقع إيجابي مجموع السلبي المتوقع
FPR = إيجابي كاذب / (إيجابي حقيقي + إيجابي خطأ)
  • معدل سلبي كاذب (FNR):

المعدل السلبي الكاذب هو النسبة المئوية للنتائج السلبية الكاذبة (FP) إلى إجمالي عدد النتائج السلبية المتوقعة (TN + FN).

قيمة الفئة 1 المتوقعة على سبيل المثال: 1 قيمة الفئة 2 المتوقعة مثال: 0
القيمة الفعلية للفئة 1 EG: 1TP (إيجابي حقيقي) FN (سلبي كاذب)
القيمة الفعلية للفئة 2 EG: 0FP (إيجابي كاذب) TN (سلبي حقيقي)
مجموع الإجمالي المتوقع إيجابي مجموع السلبي المتوقع
FNR = سلبي كاذب / (سلبي كاذب + سلبي حقيقي)

الدقة والاستدعاء والقياس F.

  • اعد الاتصال:

يشبه الاسترجاع المعدل الإيجابي الحقيقي وهو نسبة العدد الإجمالي للقيم الإيجابية المتوقعة بشكل صحيح (TP) إلى جميع القيم الإيجابية.

  • الاحكام:

تشير الدقة بشكل أساسي إلى جميع النقاط التي توقع النموذج أن تكون إيجابية والنسبة المئوية منها إيجابية بالفعل.

أين يجب التصريح عن متغيرات الحالة في جافا

الدقة والاستدعاء عبارة عن نتائج مقاييس تركز على الفئة الإيجابية كما هو موضح من الصيغ أعلاه.

  • قياس F

لذا فإن F-Measure هي تقنية تجمع بين كل من تقنية Precision و Recall وتستخدم المتوسط ​​التوافقي بدلاً من المتوسط ​​الحسابي المعتاد ، والذي بسببه يتم معاقبة القيم القصوى. يُطلق على مقياس F أيضًا اسم درجة F1 ويتم توفيره بواسطة الصيغة أدناه.

دعونا نفكر في مثال ونرى كيف يمكننا حساب الدقة والدقة والاستدعاء ودرجة F1.

العدد = 165 توقع نعم توقع NO
نعم فعلا TP = 150 الجبهة الوطنية = 10
لا الحالي FP = 20 TN = 100
    • الدقة = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0.89
    • استدعاء = TP / (TP + FN) = 150 / (150 + 10) = 0.93
    • الدقة: TP / (TP + FP) = 150 / (150 + 20) = 0.88

  • قياس F = (2 * استدعاء * الدقة) / (استدعاء + ضبط مسبق) = (2 * 0.93 * 0.88) / (0.93 + 0.88) = 0.90

إنشاء مصفوفة الارتباك باستخدام Python و Sklearn

سنرى الآن مثالًا على كيفية إنشاء مصفوفة ارتباك باستخدام Python جنبًا إلى جنب مع مكتبة sklearn.

واحد. في البداية ، سنقوم بإنشاء قائمة بالبيانات الفعلية والمتوقعة للتحقق من الدقة كما هو موضح أدناه

# نص بايثون لإنشاء مصفوفة ارتباك. البيانات الفعلية = [1 ، 1 ، 0 ، 1 ، 0 ، 0 ، 1 ، 0 ، 0 ، 0،1،0،1] البيانات المتوقعة = [0 ، 1 ، 1 ، 1 ، 0 ، 0 ، 1 ، 0 ، 1 ، 0،1،0،1]

2. نحتاج إلى استيراد مصفوفة الارتباك من مكتبة sklearn كما هو موضح أدناه:

من sklearn.metrics استيراد confusion_matrix

3. بعد ذلك ، سننشئ مصفوفة الارتباك كما هو موضح أدناه:

final_results = confusion_matrix (البيانات الفعلية ، البيانات المتوقعة)

أربعة. الآن يمكننا المضي قدمًا وحساب الدقة عن طريق استيراد المكتبة كما هو موضح أدناه:

من sklearn.metrics دقة الاستيراد الدقة = دقة الدقة (البيانات الفعلية ، البيانات المتوقعة)

5. أخيرًا ، نحسب درجة F1 أو F- قياس كما هو موضح أدناه:

من sklearn.metrics استيراد تصنيف_تقرير = تصنيف_تقرير (البيانات_الفعلية ، توقع_بيانات)

فيما يلي الكود الكامل:

البيانات الفعلية = [1 ، 1 ، 0 ، 1 ، 0 ، 0 ، 1 ، 0 ، 0 ، 0،1،0،1] البيانات المتوقعة = [0 ، 1 ، 1 ، 1 ، 0 ، 0 ، 1 ، 0 ، 1 ، 0،1،0،1] من sklearn.metrics الاستيراد confusion_matrix final_results = confusion_matrix (البيانات الفعلية ، البيانات المتوقعة) طباعة (النتائج النهائية) من sklearn.metrics دقة الاستيراد الدقة = دقة_سكور (البيانات الفعلية ، البيانات المتوقعة) من تقرير تصنيف_تقرير الاستيراد sklearn.metrics البيانات الفعلية ، البيانات المتوقعة) طباعة (دقة) طباعة (تقرير)

matrix

بهذا نصل إلى نهاية هذا المقال. آمل أن يتم حل كل ارتباكك حول مصفوفة الارتباك.

إديوريكا يساعدك على اكتساب الخبرة في العديد من خوارزميات التعلم الآلي مثل الانحدار والتجميع وأشجار القرار والغابات العشوائية و Naïve Bayes و Q-Learning. يعرّفك التعلم الآلي باستخدام تدريب Python على مفاهيم الإحصاء والسلاسل الزمنية وفئات مختلفة من خوارزميات التعلم الآلي مثل الخوارزميات الخاضعة للإشراف وغير الخاضعة للإشراف والمعززة. خلال دورة شهادة علوم البيانات ، ستحل دراسات الحالة الواقعية في وسائل الإعلام والرعاية الصحية ووسائل التواصل الاجتماعي والطيران والموارد البشرية.