بالاطلاع على تعريف ال 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))
أرجو أني استطعت أن أوضح الفكرة.
بالتوفيق.