الوحدة 3 — تغيير المقياس: التطبيع والتقييس
كرّرت الدورتان السابقتان أنّ التقييس لا غنى عنه. وهذه الوحدة تشرح أخيرًا لماذا، ولأيّ النماذج، والأهمّ: أيّها يستغني عنه تمامًا. فالخلط بين العائلتين يُضيّع الوقت في اتّجاه، والأداء في الاتّجاه الآخر.
أيّها يشترطه وأيّها لا يبالي
القاعدة واضحة متى صيغت صياغة سليمة: تغيير المقياس يهمّ كلّ نموذج يحسب مسافات أو جداءات قياسية، أو يُحسِّن بنزول التدرّج.
| حسّاس للمقياس | غير مبالٍ بالمقياس |
|---|---|
| أقرب الجيران، SVM | أشجار القرار |
| k-means و DBSCAN و PCA | الغابات العشوائية |
| الانحدارات المنظَّمة (Ridge و Lasso) | gradient boosting |
| الشبكات العصبية | — |
وللعمود الأيمن تفسير بسيط: الشجرة لا تقارن متغيّرَين ببعضهما أبدًا، بل تطرح أسئلة من نوع «الدخل > 30000؟» على متغيّر واحد في كلّ مرّة. اضرِب الدخول كلّها في ألف فتجد الشجرة العتبة نفسها بالضبط، مضروبةً في ألف، بالتقسيم نفسه. فـلا حاجة إلى أيّ تغيير للمقياس في الأساليب القائمة على الأشجار، وهذا أحد أسباب رواجها على البيانات الجدولية غير المتجانسة.
وثمّة حالة تستحقّ الذكر: التنظيم. فـ Ridge و Lasso يعاقبان حجم المعاملات، والمعامل يتبع وحدة متغيّره. فمن دون تغيير للمقياس، تضرب العقوبة المتغيّرات صغيرة السَّعة أشدّ ضربًا بصورة تعسّفية — فيصير الضبط غير متماسك.
التحويلات الثلاثة الواجب معرفتها
from sklearn.preprocessing import StandardScaler, MinMaxScaler, RobustScaler
StandardScaler() # (x - المتوسط) / الانحراف المعياري -> متوسط 0 وانحراف 1
MinMaxScaler() # (x - min) / (max - min) -> محصور في [0, 1]
RobustScaler() # (x - الوسيط) / المد ى الربيعي -> غير حسّاس للشواذّ
التقييس هو الخيار الافتراضي. فهو يُركّز ويُصغّر من دون حصر، ولا يفترض قيمًا متطرّفة معلومة. وهو ما ينتظره PCA والنماذج المنظَّمة.
التطبيع min-max يحصر في مجال ثابت، وهو نافع عند اشتراط مدى محدّد — مداخل شبكة عصبية، أو معالجة صور. وضعفه صريح: قيمة شاذّة واحدة تحدّد الحدّ الأقصى فتضغط بقيّة القيم في جزء ضئيل من المجال.
تغيير المقياس الصامد يستخدم الوسيط والمدى الربيعي. وهو الانعكاس الصحيح عند وجود شواذّ لا تريد حذفها ولا تركها تسيطر، للسبب نفسه الذي رأيناه في الوحدة السابقة.