تقنية

عد الفئات بالرمز: لماذا يظهر صفر بين قيم bincount؟

ثلاثة رموز لبطاقات تتوزع إلى ظهورين للفئة واحد وظهور للفئة أربعة مع خانات صفرية ومجموع أوزان منفصل
رسم تحريري لعقد وحساب معلنين؛ لم نشغل مكتبة أو نموذجًا.

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

الخلاصة السريعة

موضع bincount يخص قيمة الرمز نفسه، وتجمع weights الأوزان بدل عدد الظهور. [1] طول الناتج لا يساوي عدد الفئات التي ظهرت دائمًا.

  • تقبل bincount قائمة أحادية من أعداد صحيحة غير سالبة، ويحسب الموضع تكرار قيمته. [1] الرموز في ورقتنا عناوين فئات معلنة.
  • للرموز 1 و 1 و 4 ، مواضع الصفر إلى أربعة تعطي 0 و 2 و 0 و 0 و 1 ؛ خمس خانات تصف رمزين ظهرا وثلاثة مواضع بلا ظهور.
  • مع أوزان 0.5 و 1.5 و 3 الموافقة للمواضع الأصلية، يصير مجموع الرمز 1 اثنين ومجموع الرمز 4 ثلاثة؛ العدد الموزون ليس ثلاث حالات جديدة.
  • يضع minlength حدًا أدنى للطول، وقد يطول الناتج أكثر عند الحاجة. [1] طلب سبعة يضيف صفرين هنا، ولا يثبت فئات جديدة أو اكتمال مجتمع ولم نشغل الدالة.

هل رقم الموضع هو ترتيب وصول الفئة؟

تعد bincount ظهور الأعداد الصحيحة غير السالبة في قائمة أحادية، وكل خانة تخص قيمة فهرسها. [1]

نعرّف رمز 1 لفئة ورق مستطيل، ورمز 4 لفئة ورق مثلث. الاختيار اصطلاح دفترنا، ولا يعني أن المثلث أكبر من المستطيل بأربع مرات أو أنه رابع فئة ظهرت. هدف الرمز تحديد خانة العد.

نعطي ثلاث بطاقات مرتبة أ وب وج، برموز 1 و 1 و 4. نحتفظ بهويتها وترتيبها منفصلين من الرقم. إذا بدلت ترتيب أ وج فلن تتغير حصيلة العد، لكن ترتيب المصدر نفسه تغير ولا نستعيده من الحصيلة وحدها.

لماذا نحتاج خمس خانات لرمزين؟

نقرأ الخانات من الفهرس صفر إلى أربعة. لم يظهر صفر، فيحمل صفرًا. ظهر 1 مرتين فيحمل اثنين؛ لم يظهر 2 أو 3 فيحمل كل منهما صفرًا، وظهر 4 مرة فيحمل واحدًا. القائمة الناتجة يدويًا هي 0 و 2 و 0 و 0 و 1.

خمس خانات لا تثبت وجود خمس فئات ممثلة في السجل. لدينا رمزان مختلفان فقط، وثلاثة ظهورات. عدد الخانات وعدد الرموز الظاهرة وعدد السجلات ثلاثة أسئلة تختلف حتى في هذه القائمة الصغيرة.

ولا نعتبر الصفر في موضع الرمز 3 حكمًا أن فئته لا توجد خارج البطاقات التي عدَدناها. لم نعلن مجتمعًا كاملًا أو تعريفًا لكل رمز محتمل؛ الرقم يقول إن السجل الحالي لم يضم ذلك الرمز.

ماذا يتغير عند جمع الأوزان؟

توثق weights جمع وزن الموضع الأصلي في خانة رمزه بدل إضافة واحد. [1]

نختار أوزان البطاقات أ وب وج بالترتيب 0.5 و 1.5 و 3. إذن خانة الرمز 1 تجمع أول وزنين، فتساوي اثنين؛ خانة 4 تجمع الثالث فتساوي ثلاثة. الناتج المعلن 0 و 2 و 0 و 0 و 3.

اتفاق قيمة خانة 1 مع عدد ظهوره اثنين لا يعني أن العملية بقيت عدًا غير موزون؛ اتفاقهما خاص بالأوزان المختارة. الرمز 4 ظهر مرة لكن مجموع وزنه ثلاثة. نعرف هذا الرقم مقدارًا تجميعيًا لا عدد بطاقات فعلية جديدًا، ولا نجمع الأوزان بعد تغيير مطابقتها بالبطاقات.

هل minlength يحصر عدد الخانات؟

minlength حد أدنى؛ يتجاوز الناتج هذا الطول إذا احتاجت الرموز ذلك. [1]

في قائمتنا إذا طلبنا سبع خانات، نبقي المواضع من صفر إلى أربعة ونضيف موضعي خمسة وستة بقيمتي صفر. وإذا طلبنا ثلاثًا فقط، يبقى احتياج الرمز 4 إلى موضعه سببًا لوجود خمس خانات؛ الحد الأدنى ليس حدًا أقصى.

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

المصادر ومتابعة القراءة

  1. NumPy: bincount (يفتح في نافذة جديدة)numpy.org

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.