Feature Engineering
تحوّل هندسة الميزات البيانات الخام إلى مدخلات يسهل على النموذج التعلّم منها، بالاستفادة من المعرفة بالمجال. التقنيات الأساسية ومزالق تسرّب البيانات والاستخدامات والبرمجة.
هندسة السمات هي عملية إنشاء متغيرات الإدخال أو السمات التي يتعلم منها نموذج التعلم الآلي وتحويلها واختيارها، مستفيدةً من المعرفة بالمجال والبيانات. فيتحول الطابع الزمني الخام إلى ساعة اليوم ويوم الأسبوع، وتصبح قائمة معاملات البطاقات إنفاق العميل خلال آخر 30 يومًا، وتتحول المسافة والمدة في الرحلة إلى سرعتها. تتيح السمات المختارة بعناية لنموذج بسيط التقاط أنماط قد تفوته، وتكتسب أهمية أكبر في البيانات الجدولية والسلاسل الزمنية، حيث لا يستطيع النموذج استخدام سوى الأعمدة المقدمة إليه. أما نماذج التعلم العميق، فتتعلم سماتها بنفسها من الصور والصوت والنصوص الخام، ما حوّل هندسة السمات في هذه المجالات نحو تهيئة البيانات وبناء السمات انطلاقًا من مخرجات النموذج.
التقنيات الشائعة#
- التحجيم والتطبيع: يؤدي توحيد السمات بحيث يكون متوسطها صفرًا وتباينها واحدًا إلى منع السمات ذات الوحدات الكبيرة من الهيمنة على النماذج القائمة على المسافة والتدريب القائم على التدرج، كما يضغط التحويل اللوغاريتمي القيم الملتوية مثل الدخل أو الأسعار.
- ترميز السمات الفئوية: يحوّل الترميز أحادي التمثيل فئةً مثل اللون إلى أعمدة ثنائية، بينما يستبدل ترميز الهدف كل فئة بمتوسط الهدف الخاص بها، ويُحسب ذلك على طيات منفصلة كي لا يكشف الترميز تسمية الصف نفسه.
- النسب والتفاعلات: تجمع نسبة الدين إلى الدخل والسعر لكل قدم مربعة ومؤشر كتلة الجسم قيمتين خامًا في كمية تؤثر فعليًا في النتيجة.
- سمات التاريخ والوقت: تكشف الساعة ويوم الأسبوع والشهر ومؤشرات العطلات الدورات، وتضع ترميزات الجيب وجيب التمام للساعة 23:00 بجوار 00:00.
- الإزاحات والنوافذ المتحركة: تمنح القيم السابقة والمتوسطات المتحركة والأعداد المحسوبة عبر النوافذ الحديثة النموذج سجلًا حديثًا لمستشعر أو حساب أو منتج.
- التقسيم إلى فئات: يلتقط تجميع القيم المستمرة في نطاقات، مثل الفئات العمرية، التأثيرات المتدرجة ويحد من أثر القيم المتطرفة.
- تقليل الأبعاد باستخدام PCA: يضغط تحليل المكونات الرئيسية عددًا كبيرًا من السمات المترابطة إلى عدد قليل من السمات غير المترابطة.
- اختيار السمات: ترتب أساليب التصفية السمات وفق ارتباطها بالهدف أو المعلومات المتبادلة معه، وتختبر أساليب التغليف مجموعات فرعية من السمات باستخدام نموذج، بينما تحذف الأساليب المضمنة مثل التنظيم L1 السمات أثناء التدريب.
توضح ميزة النسبة سبب نجاح هذا الأسلوب. لا تستطيع شجرة القرار محدودة العمق التقسيم إلا وفق ميزة واحدة في كل مرة، لذا لا تقارب قاعدة «متوسط السرعة أعلى من 90 كم/س» بدقة عند الاعتماد على المسافة والمدة وحدهما، لكنها تفعل ذلك بدقة تامة بمجرد حساب السرعة:
import numpy as np
from sklearn.model_selection import cross_val_score
from sklearn.tree import DecisionTreeClassifier
# 1,000 trips: raw distance (km) and duration (h); label = average speed above 90 km/h
rng = np.random.default_rng(0)
distance = rng.uniform(10, 300, 1000)
hours = rng.uniform(0.5, 4.0, 1000)
y = (distance / hours > 90).astype(int)
raw = np.column_stack([distance, hours])
engineered = (distance / hours).reshape(-1, 1) # domain knowledge: speed = distance / time
tree = DecisionTreeClassifier(max_depth=2, random_state=0)
for name, X in [("Raw distance and duration", raw), ("Engineered speed", engineered)]:
print(f"{name}: accuracy {cross_val_score(tree, X, y, cv=5).mean():.3f}")باستخدام شجرة العمق 2 نفسها، ترتفع الدقة المتحققة بالتحقق المتقاطع من 0.861 عند استخدام المسافة والمدة الخام إلى 1.000 عند استخدام ميزة السرعة المُهندسة، لأن الحد القطري في فضاء المسافة والمدة يصبح عتبة واحدة للسرعة.
التحقق من الميزات دون تسرب البيانات#
لا تكون الميزة صالحة إلا إذا كانت قيمتها معروفة لحظة التنبؤ. يحقق نموذج توقّع مغادرة العملاء يستخدم «عدد مكالمات الدعم في الشهر التالي للإلغاء»، أو ترميزًا للهدف محسوبًا على مجموعة البيانات الكاملة، نتائج جيدة في الاختبار لكنه يفشل في الإنتاج، وهذا شكل من تسرب البيانات. لذلك، لا تُلائم أي عملية تحويل ذات معلمات متعلّمة، مثل متوسطات أداة القياس أو ترميزات الفئات، إلا على طيات التدريب، كما تفعل مسارات scikit-learn تلقائيًا، ولا يُحتفظ بكل ميزة جديدة إلا إذا حسّنت نتيجة التحقق المتقاطع. ويجب أيضًا أن تحسب أنظمة الإنتاج كل ميزة بالطريقة نفسها التي استُخدمت في التدريب، وهذا ما تتولاه مخازن الميزات عبر تقديم تعريفات الميزات نفسها لكليهما.
هندسة الميزات في الرؤية الحاسوبية#
اعتمدت الرؤية الحاسوبية التقليدية على ميزات مصممة يدويًا، مثل خرائط الحواف ومواصفات النقاط المفتاحية SIFT ومخططات تدرجات الاتجاه، ثم صنّفتها مصنفات مثل آلات متجهات الدعم. ومنذ فوز AlexNet بتحدي ImageNet عام 2012، تعلّمت الشبكات العصبية الالتفافية خرائط الميزات الخاصة بها من وحدات البكسل، وانتقل جهد الهندسة إلى بيانات التدريب، عبر زيادة البيانات، وإلى مخرجات نماذج الرؤية. تنشئ SpeedEstimator من Ultralytics ميزة سرعة من مخرجات تتبّع الكائنات في YOLO26: فبمجرد أن يحتوي المسار على خمسة مواضع، تحوّل الإزاحة بالبكسل بين الموضعين الأول والأخير إلى أمتار باستخدام مقياس meter_per_pixel، وتقسمها على الزمن المنقضي للإبلاغ عن السرعة بالكيلومتر/ساعة.
التطبيقات#
- مخاطر الائتمان: يستنبط المقرضون نسبة الدين إلى الدخل، ومعدل استخدام الائتمان، وعدد الأشهر منذ آخر دفعة متأخرة من سجلات الحسابات الخام؛ وهي ميزات تتنبأ بالتعثر أفضل من الأرصدة الخام.
- الصيانة التنبؤية: تكشف المتوسطات المتحركة ومعدلات التغير وطاقة نطاقات التردد المحسوبة من تدفقات الاهتزاز ودرجة الحرارة عن التآكل المتطور قبل أن تتجاوز أي قراءة خام حد الإنذار.
- كشف الاحتيال: تميّز ميزات السرعة، مثل عدد معاملات البطاقة في الساعة الماضية والمسافة بين عملية شراء والموقع المعتاد لحامل البطاقة، الاحتيال عن الإنفاق الطبيعي.
- التنبؤ بالطلب: تجمع نماذج البيع بالتجزئة بين تأخيرات المبيعات والمتوسطات المتحركة وتغيرات الأسعار ومؤشرات العروض الترويجية والعطلات لكل متجر ومنتج.
هندسة الميزات والمصطلحات ذات الصلة#
- استخراج الميزات: يحسب الميزات تلقائيًا باستخدام خوارزمية ثابتة أو نموذج متعلّم، مثل PCA أو العمود الفقري لشبكة عصبية. وغالبًا ما يُستخدم المصطلحان بالتبادل، مع شمول هندسة الميزات للعملية الأوسع الموجّهة بمعرفة المجال.
- المعالجة المسبقة للبيانات: تنظّف البيانات وتنسّقها بإصلاح الأخطاء وملء القيم المفقودة وتحويل الأنواع؛ وهي الخطوة التي تسبق تصميم الميزات.
- التضمينات: متجهات كثيفة يتعلّمها النموذج أثناء التدريب لتمثيل الكلمات أو الصور أو المستخدمين، وتحل محل الميزات المُنشأة يدويًا، مثل عدد مرات ورود الكلمات، في معظم أنظمة اللغة والرؤية.










