تعويض القيم المفقودة بالوسيط يختار قيمة محسوبة من العمود، ولا يعيد قياس القيمة الغائبة. تتيح SimpleImputer استراتيجية median لملء القيم المفقودة بوسيط كل عمود عددي. [1] لذلك نحتاج معرفة البيانات التي حسبنا منها الوسيط وحفظ الفرق بين القياس الأصلي والقيمة التي أضفناها.
الخلاصة السريعة
احسب وسيط القيم العددية المعروفة في بيانات التدريب، واستخدمه وفق سياسة معلنة، مع إبقاء علامة أن القيمة معوضة وليست قياسا.
- تعمل استراتيجية median في SimpleImputer على الأعمدة العددية؛ في مثالنا نحسبها من القيم المعروفة في التدريب. [1]
- الوسيط هو القيمة الوسطى بعد الترتيب للعدد الفردي، ومتوسط الوسطيتين للعدد الزوجي. [2]
- قد يعطي التعويض قيمة لم تسجل أصلا؛ والعمود بلا قيم معلومة لا يوفر وسيطا محسوبا منها.
- احتفظ بالأصل ومصدر الإحصاء وحالة التعويض؛ القيمة المضافة لا تثبت الطول الحقيقي أو تحسن أداء النموذج.
ماذا نختار للحساب قبل ملء الفراغ؟
نفترض بيانات تدريب لأطوال قصاصات ورقية بالسنتيمتر: 6 و9 و15، وقيمة مفقودة. نختار القيم المعروفة فقط للحساب في هذا المثال، ولا نضع صفرا بدلا من الغياب قبل حساب الوسيط؛ لأن الصفر سيصبح قيمة إضافية تغير المسألة التي قصدناها.
تصف الوثائق median كاستراتيجية تعويض باستخدام وسيط كل عمود، وتخصصها للبيانات العددية. [1]
هذا ليس اختيار طول من الصف الأقرب مكانيا في الملف أو من قصاصة مجاورة؛ نحسب إحصاء للعمود الذي عرفناه. كما لا نحسبه من أرقام ترمز لألوان اسمية، فترتيب رموز تلك الفئات لا يحولها إلى أطوال.
كيف نجد الوسيط في المثالين؟
يعرف NumPy الوسيط بالقيمة الوسطى في نسخة مرتبة عندما يكون عدد القيم فرديا، وبمتوسط القيمتين الوسطيتين عندما يكون زوجيا. [2]
في المثال الأول الترتيب 6 ثم 9 ثم 15، والوسط 9. نفترض تعبئة القيمة الغائبة بـ9 سنتيمترات وفقا لسياسة التدريب هذه. ولشرح الحالة الزوجية نأخذ مجموعة تدريب أخرى مستقلة: 6 و8 و13 و21؛ الوسطيتان 8 و13، ومتوسطهما 10.5. لم نستدع برنامجا على بيانات قصاصات.
| القيم المعروفة المفترضة | الوسط في الترتيب | قيمة التعويض المقترحة |
|---|---|---|
| 6،9،15 | 9 | 9سم |
| 6،8،13،21 | 8 و13 | 10.5سم |
هل القيمة المحسوبة قياس أو ضمان مناسبة؟
في المجموعة الثانية لم تسجل 10.5 لأي قصاصة؛ ظهرت من حساب متوسط الوسطيتين. قد تكون قيمة حسابية معقولة للملء في سياسة مفترضة، لكننا لا نعرف طول القصاصة التي غاب قياسها. لا نعيد وصف القيمة المعوضة على أنها رصد جديد.
والجدول الذي لا يحمل أي طول معلوم لا يتيح لنا حساب وسيط من أطواله. نحتاج سياسة مستقلة للحالة الفارغة ومراجعة إعدادات الأداة، بدلا من وعد القارئ بأن كل عمود سيملك قيمة وسطى مفيدة. كذلك نراجع هل السؤال يتطلب مقدارا يمكن أن يكون عشريا أم عددا لا يناسبه جزء وحدة.
ما الذي نحفظه مع البيانات المعوضة؟
نقترح حفظ قيمة المصدر وحالة الغياب وقيمة التعويض في نسخة مشتقة، مع نسخة التدريب التي حسب منها الوسيط والوحدة والحقول المشمولة. بهذه المعلومات يستطيع المراجع تمييز 9 المسجلة من 9 المضافة دون التخمين من شكل الرقم وحده.
ولا نعيد حساب وسيط جديد من بيانات الاختبار لهذا المثال؛ نحتاج إجراء ثابتا مناسبا لسؤال التقييم. تعويض الفراغات يجعل الملف قابلا لبعض الخطوات اللاحقة، لكنه لا يثبت صحة القياس أو جودة التوقع. نراجع أثر السياسة عند تقييم نموذج فعلي؛ لم نجر ذلك هنا.
المصادر ومتابعة القراءة
- scikit-learn: SimpleImputer (يفتح في نافذة جديدة)scikit-learn.org
- NumPy: median definition (يفتح في نافذة جديدة)numpy.org
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
