ستساعدك المقالة التالية: منحنى الاستدعاء الدقيق – نحو الذكاء الاصطناعي
نُشر في الأصل على نحو AI ، الشركة الرائدة في العالم في مجال الذكاء الاصطناعي والأخبار التقنية والإعلام. إذا كنت تقوم ببناء منتج أو خدمة متعلقة بالذكاء الاصطناعي ، فنحن ندعوك للتفكير في أن تصبح راعيًا للذكاء الاصطناعي. في نحو الذكاء الاصطناعي ، نساعد في توسيع نطاق الشركات الناشئة في مجال الذكاء الاصطناعي والتكنولوجيا. دعنا نساعدك على إطلاق التكنولوجيا الخاصة بك للجماهير.
تقييم النموذج
منحنى العلاقات العامة و AUC-PR و AP
تقييم أي نموذج أمر حيوي. عندما يتعلق الأمر ب نماذج التصنيف ، سواء كانت ثنائية أو متعددة الفئات ، لدينا مجموعة واسعة من المقاييس المتاحة تحت تصرفنا. إذا كانت لدينا مجموعة بيانات متوازنة ، فقد تختار الدقة. إذا كان التنبؤ الحقيقي أكثر أهمية ، فسيكون الاختيار هو الدقة أو الاسترجاع أو الخصوصية أو F1. تستخدم جميع المقاييس المذكورة هنا فئة التنبؤ للتقييم وليس درجة التنبؤ. ومع ذلك ، تستخدم بعض المقاييس درجات التنبؤ مثل Precision-Recall Curve و ROC.
منحنى الاستدعاء الدقيق:
يُظهر منحنى الاسترجاع الدقيق المفاضلة بين الدقة وعمليات الاستدعاء لعتبات مختلفة. غالبًا ما يتم استخدامه في المواقف التي تكون فيها الفصول الدراسية غير متوازنة بشكل كبير. على سبيل المثال ، إذا كان من المتوقع أن تنتمي إحدى الملاحظات إلى الفئة الإيجابية عند احتمال> 0.5 ، فيتم تصنيفها على أنها إيجابية. ومع ذلك ، يمكننا اختيار أي حد احتمالي بين 0 و 1. يساعد منحنى الاسترجاع الدقيق في تصور كيفية تأثير العتبة على أداء المصنف.
لفهم الدقة والتذكر ، دعنا نجدد ذاكرتنا بسرعة حول النتائج المحتملة في مشكلة التصنيف الثنائي من خلال الرجوع إلى مصفوفة الارتباك.
دقة يشار إلى نسبة التنبؤات الصحيحة بين جميع التنبؤات لفئة معينة.
الاستدعاء يشير إلى نسبة الأمثلة لفئة معينة التي تنبأ بها النموذج على أنها تنتمي إلى تلك الفئة.
سيعود النموذج ذو الدقة العالية والتذكر إلى نتائج قليلة جدًا ، لكن معظم التنبؤات صحيحة.
ومع ذلك ، فإن النموذج ذي الدقة المنخفضة والاستدعاء العالي يعطي العديد من النتائج ، لكن معظم التوقعات ستكون غير صحيحة. سيكون للنموذج المثالي دقة عالية واستدعاء عالي وسيعيد العديد من النتائج مع توقع كل شيء بشكل صحيح ، بينما سيكون للنموذج الأساسي دقة منخفضة للغاية.
من sklearn.datasets استيراد make_classification
من sklearn.model_selection استيراد train_test_split
من sklearn.linear_model استيراد LogisticRegression
من sklearn.metrics استيراد دقيق_recall_curve
من sklearn.metrics استيراد PrecisionRecallDisplay X، y = make_classification (n_samples = 1000، n_classes = 2،
عشوائية = 1)
X_train ، X_test ، y_train ، y_test = train_test_split (X ، y ،
test_size = .2 ،
عشوائية = 2)
lr = LogisticRegression ()
lr.fit (X_train ، y_train)
y_pred = lr.predict (X_test)
y_pred_prob = lr.predict_proba (X_test)
y_pred_prob = y_pred_prob[:,1]
الدقة ، الاسترجاع ، العتبة = الدقة_recall_curve (y_test ،
y_pred_prob)
prd = PrecisionRecallDisplay (دقة ، استدعاء)
prd.plot ()
AP و AUC-PR
يلخص متوسط الدقة منحنى العلاقات العامة في مقياس واحد باعتباره المتوسط المرجح للدقة التي يتم تحقيقها عند كل قيمة حدية.
حيث Pn و Rn هما الدقة والاستدعاء عند عتبة n ^ th.
AUC-PR لتقف على المنطقة تحت المنحنى – الاستدعاء الدقيق ، وهي المنطقة شبه المنحرفة تحت المؤامرة. AP و AUC-PR طريقتان متشابهتان لتلخيص منحنى العلاقات العامة في مقياس واحد.
تمثل AP أو AUC العالية الدقة العالية والاستدعاء العالي لعتبات مختلفة. تتقلب قيمة AP / AUC بين 1 (نموذج مثالي) و 0 (أسوأ نموذج).
من sklearn.metrics استيراد average_precision_score
متوسط الدقة_الدرجة (y_test ، y_pred_prob)
انتاج:
0.927247516623891
يمكننا دمج درجة العلاقات العامة مع الرسم البياني.
ap = average_precision_score (y_test ، y_pred_prob)
prd = PrecisionRecallDisplay (دقة ، استدعاء ، متوسط الدقة = ap)
prd.plot ()
عادةً ما تستخدم منحنيات Precision-Recall فئتين للتقييم ، وسيتم رسم منحنى خط التصنيف متعدد الفئات أو متعدد العلامات لكل فئة ، وستكون AP أو AUC لكل فئة مفيدة للترتيب بين الفئات. ومع ذلك ، لتلخيص الفئات المتعددة في مقياس واحد ، يمكن حساب منحنى الدقة الدقيقة والماكرو والوزن الموزون و AP / AUC. يرجى الرجوع إلى تقييم نموذج متعدد الفئات مع مصفوفة الارتباك وتقرير التصنيف لفهم المقاييس الجزئية والكليّة والمرجّحة.
من sklearn.datasets استيراد make_classification
من sklearn.preprocessing استيراد label_binarize
من sklearn.model_selection استيراد train_test_split
من sklearn.linear_model استيراد LogisticRegression
من sklearn.multiclass استيراد OneVsRestClassifier # تحميل مجموعة البيانات
X ، y = make_classification (n_samples = 1000 ، n_classes = 2 ،
عشوائية = 1)
y = label_binarize (y ، فئات =[0,1,2])
X_train ، X_test ، y_train ، y_test = train_test_split (X ، y ،
test_size = .2 ،
عشوائية = 2)
lr = LogisticRegression ()
ovr = OneVsRestClassifier (lr)
ovr.fit (X_train ، y_train)
y_pred = توقع ovr (X_test)
y_pred_prob = دقة ovr.predict_proba (X_test) ، استدعاء ، عتبة ، ap ، ملصقات = pr_curve (y_test ،
y_pred_prob ،
تسميات =[0,1,2])
pr_curve_plot (دقة ، استدعاء ، عتبة ، ap ، ملصقات)
مراجع:
[1] منحنى الاستدعاء الدقيق. https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_curve.html#sklearn.metrics.precision_recall_curve
[2] متوسط نقاط الدقة. https://scikit-learn.org/stable/modules/generated/sklearn.metrics.average_precision_score.html#sklearn.metrics.average_precision_score
[3] درجة الجامعة الأمريكية بالقاهرة. https://scikit-learn.org/stable/modules/generated/sklearn.metrics.auc.html#sklearn.metrics.auc
[4] شاشة عرض دقيقة. https://scikit-learn.org/stable/modules/generated/sklearn.metrics.PrecisionRecallDisplay.html؟highlight=precisionrecalldisplay#sklearn.metrics.PrecisionRecallDisplay
تم نشر Precision-Recall Curve في الأصل في Towards AI on Medium ، حيث يواصل الأشخاص المحادثة من خلال تسليط الضوء على هذه القصة والرد عليها.
تم النشر عبر نحو الذكاء الاصطناعي