تعيد argsort فهارس يمكن بها ترتيب القيم، ولا تعيد القيم المرتبة نفسها. حين ترتبط نتيجة نموذج بمعرف سجل، يمكنك فهم هذه الفهارس بوصفها ترتيب اختيار من القائمة الأصلية. لكن استخدام الأعداد الناتجة كما لو كانت درجات النموذج يغير معنى التقرير. ويحتاج تعادل الدرجات إلى بيان سياسة ترتيب المتساويات.
الخلاصة السريعة
ناتج argsort فهارس ترتيب؛ استخدمها لاختيار القيم والمعرفات المرتبطة، وحدد الاستقرار عند التعادل.
- تعيد argsort فهارس ترتيب على المحور المختار؛ stable=True يحفظ الترتيب النسبي للقيم المتساوية، وإلا فلا ضمان له. [1]
- لدرجات 8 ، 3 ، 6 ، تكون الفهارس التصاعدية 1 ، 2 ، 0 ؛ القيم المختارة بها هي 3 ، 6 ، 8.
- عند التعادل 4 ، 2 ، 4 ، يختار ترتيب مستقر المواضع 1 ، 0 ، 2 ؛ مساواة الدرجة لا تجعل السجلين سجلًا واحدا.
- انقل الفهارس نفسها إلى المعرفات المتزامنة مع الأصل، وراجع المحور؛ ترتيب الدرجات لا يثبت دقة النموذج أو جدارة السجلات.
ما الفرق بين رقم الموضع ودرجة النموذج؟
تصف NumPy argsort بأنها ترتيب غير مباشر: المخرج فهارس من شكل الإدخال نفسه على المحور المحدد. يكون المحور الأخير افتراضيا، وaxis=None يعمل على إدخال مسطح. وفي الحالة الأحادية البعد، اختيار الأصل بهذه الفهارس يعطي القيم المرتبة. [1]
في مثالنا المعرفات هي س، ص، ع، والدرجات المقابلة لها هي 8 ، 3 ، 6. عد المواضع من الصفر: س عند 0 ، وص عند 1 ، وع عند 2. الأعداد 0 و 1 و 2 أسماء مواضع هنا، وليست قياسات أداء.
كيف تقرأ ترتيب الاختيار؟
لتصاعد الدرجات، نختار الموضع 1 أولا لأنه يحمل 3 ، ثم الموضع 2 لأنه يحمل 6 ، ثم الموضع 0 لأنه يحمل 8. قائمة الفهارس إذن 1 ، 2 ، 0 ، بينما قائمة الدرجات بعد الاختيار 3 ، 6 ، 8.
وبتطبيق ترتيب الاختيار نفسه على المعرفات، نحصل على ص، ع، س. لو رتب المساعد الدرجات وحدها ثم أبقى المعرفات س، ص، ع، فسوف ينسب الدرجة 3 إلى س خطأ في جدولنا. ينبغي أن يبقى كل معرف مع درجته، ما دامت القائمتان متزامنتين قبل الاختيار.
ماذا يحدث عند تساوي درجتين؟
منذ NumPy 2.0 يتوفر stable=True لحفظ الترتيب النسبي للعناصر المتساوية في المقارنة. stable=False أو None لا يضمن ذلك. [1]
لنبدأ مثالا مستقلا بالمعرفات ك، ل، م ودرجات 4 ، 2 ، 4. في الترتيب التصاعدي المستقر يكون ل أولا، ثم ك، ثم م؛ الفهارس 1 ، 0 ، 2. احتفظنا بترتيب ك قبل م لأنهما كانا كذلك في الأصل ولهما الدرجة نفسها.
هذا التعادل لا يعني أن ك وم كيان واحد، ولا يقرر أيهما أولى بمعاملة خاصة. وإذا لم يشترط المثال ترتيبا مستقرا، فلا تنسب إلى الأداة وعدا بثبات ترتيب المتساويات. افصل أيضا بين فهرس الترتيب ورتبة إحصائية يمكن أن تتشاركها عناصر متعادلة.
ماذا تراجع قبل نقل الترتيب إلى التقرير؟
اكتب اتجاه الترتيب والمحور والمعرف الذي ينتقل مع كل قيمة. في أمثلتنا استخدمنا قائمة واحدة وتصاعدا، ولا نعمم فهارسها على مصفوفة متعددة الأبعاد أو على قائمة تغير طولها. إذا عدلت الأصل بعد حساب الفهارس، أعد مراجعة علاقتها به.
ثم افحص الصفوف، لا الأرقام المرتبة فقط: هل الدرجة ما زالت مرتبطة بالسجل الصحيح؟ وهل الدرجات أصلًا تقيس المطلوب؟ المثال حساب يدوي يشرح مخرج الدالة؛ لم نشغل نموذجا ولم نقس دقته، والنجاح في ترتيب درجات لا يجعل تفسير هذه الدرجات صحيحا تلقائيا.
المصادر ومتابعة القراءة
- NumPy argsort (يفتح في نافذة جديدة)numpy.org
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
