Meezo ML نشر 25 يونيو 2021 أرسل تقرير مشاركة نشر 25 يونيو 2021 عندما أحاول حساب مصفوفة ال confusion matrix أحصل على الخطأ التالي: ValueError: Multilabel-indicator is not supported for confusion matrix علماً أن البيانات التي أريد بناء المصفوفة عليها هي من الشكل (One-Hot): [[1, 0, 0,0,0,0], [0, 0, 1,0,0,0], [0, 0, 0,0,1,0], [0, 0, 0,0,1,0] ... ] اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Ali Haidar Ahmad نشر 25 يونيو 2021 أرسل تقرير مشاركة نشر 25 يونيو 2021 لانستخدم الترميز One-Hot مع توابع حساب كفاءة النموذج في Sklearn. المشكلة في أن مصفوفة الCM لاتقبل أن تكون مدخلاتها من الشكل One-Hot، وإنما يجب أن تكون كالتالي: y_true (n_samples,) y_predict(n_samples,) وبالتالي لحل مشكلتك يجب أن لاتستخدم التحويل One-Hot مع المصفوفة CM. إذا أردت إرجاع بياناتك لشكلها الطبيعي (بدون ال One-Hot) يمكنك استخدام التابع argmax على للبيانات التي حولتها إلى الترميز One-Hot كالتالي: y=y.argmax(axis=1) ثم يمكنك حساب ال CM بدون مشاكل. إليك مثال: # هكذا تتوقع المصفوفة أن تكون مدخلاتها from sklearn.metrics import confusion_matrix y_true = [1, 1, 0, 2, 0, 1] y_pred = [1, 0, 2, 2, 0, 2] confusion_matrix(y_true, y_pred) 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Yacine Marouf نشر 25 يونيو 2021 أرسل تقرير مشاركة نشر 25 يونيو 2021 بالاطلاع على تعريف ال confusion matrix function من الرابط التالي https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html، يمكن ملاحظة أن الـ parameters: y_true, y_pred يجب أن تكون على شكل مصفوفة ذات بعد واحد. الحل هنا هو تحويل مصفوفتكم الـ One-Hot إلى مصفوفة ذات بعد واحد باستعمال argmax function: في مثالكم: [[1, 0, 0,0,0,0], [0, 0, 1,0,0,0], [0, 0, 0,0,1,0], [0, 0, 0,0,1,0] ... ] ستصبح: [0,2,4,4,...] يعني الكود سيكون مماثلا لـ: confusion_matrix(y_test.values.argmax(axis=1), predictions.argmax(axis=1)) أرجو أني استطعت أن أوضح الفكرة. بالتوفيق. اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Meezo ML
عندما أحاول حساب مصفوفة ال confusion matrix أحصل على الخطأ التالي:
علماً أن البيانات التي أريد بناء المصفوفة عليها هي من الشكل (One-Hot):
رابط هذا التعليق
شارك على الشبكات الإجتماعية
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.