حدود الفئات في NumPy histogram تحدد أين تدخل قيمة تساوي طرفا مشتركا بين فئتين. قد يؤدي عدها في الجانبين إلى تغيير الأعداد، أو يؤدي استبعاد الطرف الأخير إلى فقد حالة. نؤلف قائمة ذات حدود معلنة، ونراجع كل قيمة وفق عقد الدالة قبل قراءة المدرج.
الخلاصة السريعة
في NumPy histogram، تضم الفئات الطرف الأيسر وتستبعد الأيمن، إلا الفئة الأخيرة فتضم طرفها الأيمن أيضا؛ لا نعد الطرف المشترك في الفئتين. [1]
- توضح الوثائق أن الفئات نصف مفتوحة باستثناء الأخيرة، وهي مغلقة عند الطرف الأيمن، وأن القيم خارج المدى تهمل. [1]
- مع الحدود 0 و 3 و 6 ، تدخل 0 و 2 في الفئة الأولى، بينما 3 و 5 و 6 في الأخيرة. القيمة 3 تدخل الأخيرة مرة واحدة، و 6 داخلة لأنها الطرف الأخير.
- في القائمة المؤلفة سالب 1 و 0 و 2 و 3 و 5 و 6 و 7 ، عدد الفئتين 2 و 3 ، والقيمتان سالب 1 و 7 خارج المدى؛ المجموع الداخل 5 من أصل 7.
- اكتب اسم الواجهة والحدود عند نقل الأعداد إلى تقرير؛ لا تعمم عقد NumPy على كل أداة. لم ننفذ histogram أو نختبر النموذج، ولا نبحث هنا في كثافة الفئات.
ماذا تعني فئة نصف مفتوحة؟
في histogram، تكون الفئات نصف مفتوحة عدا الأخيرة التي تشمل الطرف الأيمن؛ كما تهمل القيم خارج المدى المعلن. [1]
في تمريننا نكتب الحدود 0 ثم 3 ثم 6. وصف الفئة الأولى هو: قيمة لا تقل عن 0 وتقل عن 3. وصف الأخيرة: قيمة لا تقل عن 3 ولا تزيد على 6. هذه الجمل تحدد العضوية دون الحاجة إلى تفسير ترتيب الأقواس داخل النص العربي.
لا نبدل هذا العقد بقاعدة «كل طرف داخل الفئتين»، ولا بقاعدة تستبعد جميع الأطراف اليمنى. كلا الوصفين سيغير نتيجة مثالنا عند قيمة على الطرف.
أين تدخل 0 و 3 و 6 تحديدا؟
القيمة 0 هي الطرف الأيسر للفئة الأولى فتدخلها. القيمة 3 هي الطرف الأيمن المستبعد من الأولى، والطرف الأيسر المشمول في الأخيرة؛ لذلك تدخل الأخيرة فقط. القيمة 6 هي طرف الأخيرة الأيمن، وهي مشمولة بالاستثناء المعلن.
القيمتان 2 و 5 ليستا على أطراف مشتركة؛ 2 تدخل الأولى، و 5 تدخل الأخيرة. تتبع الأطراف الثلاثة إلى جانب هاتين القيمتين يتيح الفصل بين قاعدة الحدود والحالات الواقعة داخل الفئة بوضوح.
هذه قائمة عددية مؤلفة للتفسير. لا نزعم أن الدالة قرأت ملفا حقيقيا أو أن واجهة أخرى اتبعت النتيجة نفسها؛ نحن نطبق وصف العقد يدويا على قيم اخترناها.
كيف نراجع العدد الداخل والخارج؟
نضيف إلى القائمة قيمتين خارج المدى: سالب 1 و 7. الأولى أقل من 0 ، والثانية أكبر من 6 ؛ لا تدخل أي منهما فئة في هذا المثال. تصبح القائمة الكاملة سبع قيم، يدخل منها خمس.
الفئة الأولى فيها 0 و 2 ، فعددها 2. الأخيرة فيها 3 و 5 و 6 ، فعددها 3. جمع العددين يعطي 5 ، وإضافة القيمتين الخارجيتين تعيد العدد الأصلي 7. هذه مراجعة للأعداد المعلنة، وليست معالجة للقيم المستبعدة.
لو حسبنا 3 في الفئتين، لأصبح مجموع الأعداد 6 مع أن الداخل خمس قيم مختلفة الموضع في القائمة. ولو استبعدنا 6 ، لصار المجموع 4. تتبع الأطراف يفسر مصدر الاختلاف قبل أن ننسبه إلى بيانات ناقصة أو عطل.
| القيمة المؤلفة | الموضع المقرر | سبب القرار |
|---|---|---|
| سالب 1 | خارج الفئتين | أقل من 0 |
| 0 | الأولى | طرف أيسر مشمول |
| 2 | الأولى | داخل المدى من 0 إلى أقل من 3 |
| 3 | الأخيرة | طرفها الأيسر؛ مستبعد من الأولى |
| 5 | الأخيرة | داخل المدى من 3 إلى 6 |
| 6 | الأخيرة | الطرف الأيمن الأخير مشمول |
| 7 | خارج الفئتين | أكبر من 6 |
ما الذي يرافق المدرج في تقرير الميزة؟
نقترح أن يسجل التقرير الحدود والواجهة المستخدمة، والعدد الأصلي، وعدد القيم داخل المدى وخارجه. لا نقدم 5 على أنه عدد جميع القيم في الملف عندما كانت هناك قيمتان مستبعدتان من هذا العد.
ولا نعمم الاستثناء الأخير على أداة لم نراجع توثيقها. قد يستقبل مسار تعلم آلة جدول أعداد من مصدر آخر؛ عند اختلافه نراجع عقد الحدود والمدى قبل مقارنة ارتفاعات الأعمدة أو تفسير فرق الحالات.
لم ننفذ NumPy، ولم نحسب كثافة أو احتمالا لحالة جديدة. النتيجة محددة بعضوية القيم السبعة في فئتين وفقا للعقد المعلن، مع حفظ العدد الخارج بدلا من إخفائه.
المصادر ومتابعة القراءة
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
