تقوم هندسة الميزات بتهيئة البيانات غير المنسقة إلى صيغة قابلة للقراءة آليًا، فهي تُحسن أداء نموذج التعلم الآلي من خلال تحويل الميزات ذات الصلة واختيارها.
هندسة الميزات هي عملية تحويل البيانات غير المنسقة إلى معلومات ذات صلة لاستخدامها من قِبَل نماذج التعلم الآلي. بعبارة أخرى، هندسة الميزات هي عملية إنشاء ميزات للنماذج التنبؤية. والميزة -وتُسمَّى أيضًا بُعدًا- هي متغير إدخال يُستخدم لتوليد تنبؤات النموذج. ولأن أداء النموذج يعتمد بشكل كبير على جودة البيانات المستخدمة أثناء التدريب، فإن هندسة الميزات هي تقنية معالجة مسبقة مهمة تتطلب اختيار الجوانب الأكثر صلة من البيانات غير المنسقة للتدريب، سواء للمهمة التنبؤية أو نوع النموذج الذي تحتوي عليه.1
وقبل المتابعة، دعونا نُقدم ملاحظة سريعة حول المصطلحات. تستخدِم العديد من المصادر هندسة الميزات واستخراج الميزات بالتبادل للإشارة إلى معالجة إنشاء متغيرات النموذج.2 في بعض الأحيان، تستخدِم المصادر أيضًا استخراج المعالم للإشارة إلى إعادة تعيين مساحة المعالم الأصلية إلى مساحة المعالم ذات الأبعاد المنخفضة.3 اختيار الميزات، على النقيض من ذلك، هو شكل من أشكال تقليل الأبعاد. فعلى وجه التحديد، هي عملية اختيار مجموعة فرعية من المتغيرات من أجل إنشاء نموذج جديد بهدف تقليل التعدد الخطي، وبالتالي زيادة قابلية تعميم النموذج وتحسينه.
نظرًا لأن جودة النموذج تعتمد على البيانات التي يستند إليها، يقضي علماء البيانات جزءًا كبيرًا من وقتهم في إعداد البيانات وإنشاء الميزات من أجل إنشاء نماذج عالية الجودة، فبناءً على تعقيد البيانات غير المنسقة والنموذج التنبؤي المرغوب، قد تتطلب هندسة الميزات الكثير من التجربة والخطأ.
بعض المصادر والدروس التعليمية عبر الإنترنت تقسِّم هندسة الميزات إلى خطوات منفصلة، حيث يتفاوت عدد هذه الخطوات وأسماؤها بشكل عام. هذه الخطوات قد تشمل فهم الميزات، وبناءها أو هيكلتها، وتحويلها، وتقييمها، وتحسينها والمزيد.4 فبينما يمكن أن يكون هذا التدرج مفيدًا في تقديم نظرة عامة على المهام المتضمنة في هندسة الميزات، فإنه يوحي بأن هندسة الميزات عملية خطية. وفي الواقع، تُعَد هندسة الميزات عملية تكرارية.
تعتمد هندسة الميزات على السياق. وتتطلب هذه العملية تحليلًا عميقًا للبيانات ومعرفة واسعة بالمجال. يعود ذلك إلى أن الترميز الفعَّال للميزات يمكن تحديده بناءً على نوع النموذج المستخدم، والعلاقة بين المتنبئين والمخرجات، بالإضافة إلى المشكلة التي يهدف النموذج إلى معالجتها.5 يقترن هذا بحقيقة مفادها أن أنواعًا مختلفة من مجموعات البيانات -على سبيل المثال النص مقابل الصور- قد تكون أكثر ملاءمةً لتقنيات هندسة الميزات المختلفة.6 وبالتالي، قد يكون من الصعب تحديد تعليمات محددة حول أفضل طريقة لتنفيذ هندسة الميزات ضمن خوارزميات معينة للتعلم الآلي.
رغم عدم وجود طريقة أو مسار مفضل عالميًا لهندسة الميزات، إلا أن هناك مجموعة من المهام الشائعة المستخدمة لإنشاء الميزات من أنواع بيانات مختلفة لنماذج مختلفة. ومع ذلك، قبل تنفيذ أيٍّ من هذه التقنيات، يجب أن نتذكر إجراء تحليل شامل للبيانات لتحديد كلٍ من الميزات ذات الصلة والعدد المناسب من الميزات لمعالجة مشكلة معينة. وإضافةً لذلك، من الأفضل تنفيذ تقنيات تنظيف البيانات ومعالجتها مسبقًا، مثل التعويض عن البيانات المفقودة أو القيم المفقودة، مع معالجة القيم الخارجية التي يمكن أن تؤثر سلبًا على تنبؤات النموذج.
تحول الميزات هو عملية تحويل نوع ميزة إلى شكل آخر أكثر قابلية للقراءة لنموذج معين، وهذا يشمل تحويل البيانات المستمرة إلى بيانات فئوية، أو العكس.
تقنية تقسيم البيانات (Binning). تُحوِّل هذه التقنية القيم العددية المستمرة إلى ميزات فئوية بشكل أساسي. وعلى وجه التحديد، تُقارن تقنية تقسيم البيانات (binning) كل قيمة بالمجموعة المجاورة من القيم المحيطة بها ثم تُصنّف نقاط البيانات في عددٍ من المجموعات المتميزة (bins). وأحد الأمثلة البدائية البسيطة على تقسيم البيانات هو الديموغرافيا العمرية، حيث تُقسَّم الأعمار المستمرة إلى فئات عمرية، مثل18-25، 25-30، وما إلى ذلك. بمجرد وضع القيم في مجموعات متميزة، يمكن أيضًا تنعيم المجموعات المتميزة باستخدام المتوسطات أو الوسيطات أو الحدود، حيث يستبدل تنعيم المجموعات المتميزة القيم الموجودة في المجموعة المتميزة بقيم مستمدة من المجموعة المتميزة نفسها. فعلى سبيل المثال، إذا قمنا بتنعيم إحدى المجموعات المتميزة التي تحتوي على قيم عمرية بين 18-25 باستخدام المتوسط، فإننا نستبدل كل قيمة في تلك المجموعة المتميزة بمتوسط قيم تلك المجموعة المتميزة، فتقنية تقسيم البيانات تُنشئ قيمًا فئوية من قيم مستمرة. ويُعَد تنعيم المجموعات المتميزة نوعًا من التنعيم المحلي المُراد منه تقليل صخب البيانات المدخلة.7
خط الترميز الأحادي. خط الترميز الأحادي هو عكس تقنية تقسيم البيانات (binning)؛ فهو يُنشئ ميزات عددية من متغيرات تصنيفية، حيث يعيِّن خط الترميز الأحادي الميزات التصنيفية إلى تمثيلات ثنائية، والتي تُستخدم لتعيين الميزة في مساحة مصفوفة أو متجه؛ فغالبًا ما يُشار في الدراسات إلى هذا التمثيل الثنائي باسم "متغير وهمي". ونظرًا لأن خط الترميز الأحادي يتجاهل الترتيب، فمن الأفضل استخدامه للفئات الاسمية، حيث تُعَد نماذج حقيبة الكلمات مثالًا على خط الترميز الأحادي المُستخدم بشكل متكرر في مهام معالجة اللغة الطبيعية. ومثال آخر لخط الترميز الأحادي هو تصنيف تصفية البريد العشوائي، حيث يتم تحويل الفئات بريد عشوائي وغير عشوائي إلى 1 و0 على التوالي.8
يُعَد استخراج الميزات تقنية لإنشاء مساحة أبعاد جديدة للنموذج من خلال دمج المتغيرات في متغيرات جديدة بديلة أو لتقليص أبعاد مساحة ميزات النموذج.9 وبالمقارنة، يُشير "اختيار الميزات" إلى التقنيات التي تُستخدم لاختيار مجموعة فرعية من الميزات الأكثر صلة لتمثيل النموذج، حيث يُعَد كلٌّ من استخراج الميزات واختيار الميزات شكلين من أشكال تقليل الأبعاد، وبالتالي فهما مناسبان للمشكلات الانحدارية التي تحتوي على عددٍ كبير من الميزات وبيانات محدودة.
تحليل المكونات الرئيسية. يُعَد تحليل المكونات الرئيسية (PCA) طريقة شائعة لاستخراج الميزات التي تجمع الميزات الأصلية وتحوِّلها إلى مجموعة البيانات لإنتاج ميزات جديدة تُسمَّى المكونات الرئيسية. يختار تحليل المكونات الرئيسية (PCA) مجموعة فرعية من المتغيرات من النموذج التي تمثِّل معًا غالبية أو كل التباين الموجود في مجموعة المتغيرات الأصلية في النموذج. ثم يعمل تحليل المكونات الرئيسية (PCA) على إسقاط البيانات على مساحة جديدة تُعرَّف بهذه المجموعة الفرعية من المتغيرات.10
التحليل التمييزي الخطي. يُشبه التحليل التمييزي الخطي (LDA) إلى حدٍ ما تحليل المكونات الرئيسية (PCA) في أنه يعرض بيانات النموذج على مساحة جديدة ذات أبعاد أقل. وكما هو الحال في تحليل المكونات الرئيسية (PCA)، يتم اشتقاق أبعاد (أو ميزات) هذه المساحة النموذجية من ميزات النموذج الأوَّلي، حيث يختلف تحليل التمييز الخطي (LDA) عن تحليل المكونات الرئيسية (PCA) في اهتمامه بالاحتفاظ بتسميات التصنيف في مجموعة البيانات الأصلية. فبينما ينتج تحليل المكونات الرئيسية (PCA) متغيرات مكونات جديدة تهدف إلى زيادة تباين البيانات، ينتج تحليل التمييز الخطي (LDA) متغيرات مكونات تهدف في المقام الأول إلى زيادة الاختلاف بين الفئات في البيانات.11
بعض الميزات لها حدود عليا وسفلى متأصلة في البيانات التي تحد من القيم الممكنة للميزات، مثل بيانات السلاسل الزمنية أو العمر. ولكن في كثير من الحالات، قد لا يكون لميزات النموذج حد على القيم الممكنة، وقد تؤثر مقاييس الميزات الكبيرة (وهي الفرق بين أدنى وأعلى القيم للميزة) سلبًا في بعض النماذج. يُعَد تحجيم الميزات (يُطلق عليه أحيانًا تطبيع الميزات) أسلوبًا للتوحيد القياسي لإعادة قياس الميزات والحد من تأثير المقاييس الكبيرة في النماذج.12 بينما تعمل عملية التحول على تحويل البيانات من نوع إلى آخر، فإن تحجيم الميزات يحوِّل البيانات من حيث النطاق والتوزيع، مع الحفاظ على نوع البيانات الأصلي.13
التحجيم بالحد الأدنى والحد الأقصى. يعمل التحجيم بالحد الأدنى والأقصى على إعادة تحجيم جميع القيم لميزة معينة بحيث تقع بين الحدين الأدنى والأقصى المحددين، وغالبًا ما يكونان 0 و1، حيث تُحسب قيمة كل نقطة بيانات للميزة المحددة (يُرمز لها بالعلامة x) بناءً على الحد الأدنى والحد الأقصى المحددين للميزة، min(x) وmax(x) على التوالي، ما ينتج عنه القيمة الجديدة للميزة لنقطة البيانات تلك (يُرمز لها بالرمز x̃ ). ويُحسب التحجيم بالحد الأدنى والحد الأقصى باستخدام الصيغة التالية:14
التحجيم وفق درجة المعيار (Z-score). يُشار في الدراسات إلى التحجيم وفق درجة المعيار (Z-score) أيضًا بـ التوحيد القياسي وتحجيم التباين، فبينما يعمل التحجيم بالحد الأدنى والأقصى على تحجيم قيم الميزات لتتناسب مع حدود دنيا وحدود قصوى محددة، فإن التحجيم وفق درجة المعيار (Z-score) يعيد تحجيم الميزات بحيث تكون لها انحراف معياري مشترك يساوي 1 ومتوسط يساوي 0. ويُعبر عن التحجيم وفق درجة المعيار (Z-score) بالصيغة التالية:
هنا، تُحسب قيمة الميزة المعطاة (x) بناءً على متوسط الميزات المعاد تحجيمها وتقسم على الانحراف المعياري الموحد قياسيًا (يُرمز له بـ sqrt(var(x)))، حيث يُمكن للتحجيم وفق درجة المعيار (Z-score) أن يكون مفيدًا عند تنفيذ طرق استخراج الميزات، مثل تحليل المكونات الرئيسية (PCA) والتحليل التمييزي الخطي (LDA)، حيث تتطلب هاتان الطريقتان أن تشترك الميزات في نفس نطاق التحجيم.15
الأتمتة. لقد كانت هندسة الميزات المؤتمتة، بلا شك، مجالًا مستمرًا للبحث على مدار عدة عقود،16 حيث تساعد مكتبات بايثون، مثل: "tsflex" و"featuretools"، على أتمتة استخراج الميزات وتحويلها لبيانات السلاسل الزمنية. يواصل المطورون استمرار توفير حِزَم وخوارزميات جديدة لأتمتة هندسة الميزات لنماذج الانحدار الخطي وأنواع البيانات الأخرى التي تزيد من دقة النموذج.17 في الآونة الأخيرة، ظهرت هندسة الميزات الآلية كجزء من المساعي الأكبر لبناء أنظمة التعلم الآلي (AutoML)، والتي تهدف إلى جعل التعلم الآلي في متناول غير الخبراء.18
التعلم العميق. يمكن أن تكون هندسة الميزات عملية شاقة ومستهلكة للوقت، وتتضمن قدرًا كبيرًا من المحاولة والخطأ، حيث يُتيح التعلم العميق للمستخدم تحديد مجموعة صغيرة من الميزات الأساسية التي تجمعها بنية الشبكة العصبية في ميزات ذات مستوى أعلى، وتُسمَّى أيضًا التمثيلات.19 وأحد الأمثلة على ذلك، هو معالجة الصور والتعرف على الأنماط باستخدام رؤية الكمبيوتر، حيث يتعلم النموذج التعرُّف على الكائنات ذات المعنى الدلالي (مثل السيارات، والأشخاص، وما إلى ذلك) من حيث المفاهيم البسيطة (مثل الحواف، والخطوط العريضة، وما إلى ذلك) عن طريق دمج خرائط الميزات.20 ومع ذلك، أظهرت الدراسات الحديثة أن الجمع بين هندسة الميزات مع الشبكات العصبية وتقنيات التعلم العميق الأخرى في مهام التصنيف، مثل الكشف عن الغش والاحتيال، يحقق نتائج واعدة.21
1 Alice Zheng and Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018. Sinan Ozdemir and Divya Susarla, Feature Engineering Made Easy, Packt, 2018.
2 Yoav Goldberg, Neural Network Methods for Natural Language Processing, Springer, 2022.
3 Suhang Wang, Jiliang Tang, and Huan Liu, “Feature Selection,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.
4 Sinan Ozdemir, Feature Engineering Bookcamp, Manning Publications, 2022. Sinan Ozdemir and Divya Susarla, Feature Engineering Made Easy, Packt, 2018.
5 Max Kuhn and Kjell Johnson, Applied Predictive Modeling, Springer, 2016.
6 Alice Zheng and Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.
7 Jaiwei Han, Data Mining: Concepts and Techniques, 3rd edition, 2012.
8 Kevin Murphy, Machine Learning: A Probabilistic Perspective, MIT Press, 2012. Soledad Galli, Python Feature Engineering Cookbook, 2nd edition, Packt, 2022.
9 Max Kuhn and Kjell Johnson, Applied Predictive Modeling, Springer, 2016.
10 I.T. Jollife, Principal Component Analysis, Springer, 2002.
11 Chris Albon, Machine Learning with Python Cookbook, O’Reilly, 2018.
12 Alice Zheng and Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.
13 Zahraa Abdallah, Lan Du, and Geoffrey Webb, “Data preparation,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.
14 Alice Zheng and Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.
15 Zahraa Abdallah, Lan Du, and Geoffrey Webb, “Data preparation,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017. Alice Zheng and Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.
16 James Kanter and Kalyan Veeramachaneni, "Deep feature synthesis: Towards automating data science endeavors," IEEE International Conference on Data Science and Advanced Analytics, 2015, https://ieeexplore.ieee.org/document/7344858.
17 Udayan Khurana, Deepak Turaga, Horst Samulowitz, and Srinivasan Parthasrathy, "Cognito: Automated Feature Engineering for Supervised Learning," IEEE 16th International Conference on Data Mining Workshops, 2016, pp. 1304-130, https://ieeexplore.ieee.org/abstract/document/7836821. Franziska Horn, Robert Pack, and Michael Rieger, "The autofeat Python Library for Automated Feature Engineering and Selection," Joint European Conference on Machine Learning and Knowledge Discovery in Databases, 2019, pp. 111-120, https://link.springer.com/chapter/10.1007/978-3-030-43823-4_10.
18 Ahmad Alsharef, Karan Aggarwal, Sonia, Manoj Kumar, and Ashutosh Mishra, "Review of ML and AutoML Solutions to Forecast Time‑Series Data," Archives of Computational Methods in Engineering, Vol. 29, 2022, pp. 5297–5311, https://link.springer.com/article/10.1007/s11831-022-09765-0. Sjoerd Boeschoten, Cagatay Catal, Bedir Tekinerdogan, Arjen Lommen, and Marco Blokland, "The automation of the development of classification models andimprovement of model quality using feature engineering techniques," Expert Systems with Applications, Vol. 213, 2023, https://www.sciencedirect.com/science/article/pii/S0957417422019303. Shubhra Kanti Karmaker, Mahadi Hassan, Micah Smith, Lei Xu, Chengxiang Zhai, and Kalyan Veeramachaneni, "AutoML to Date and Beyond: Challenges and Opportunities," ACM Computing Surveys, Vol. 54, No. 8, 2022, pp. 1-36, https://dl.acm.org/doi/abs/10.1145/3470918.
19 Yoav Goldberg, Neural Network Methods for Natural Language Processing, Springer, 2022.
20 Ian Goodfellow, Yoshua Bengio, and Aaron Courville, Deep Learning, MIT Press, 2016, https://www.deeplearningbook.org/
21 Xinwei Zhang, Yaoci Han, Wei Xu, and Qili Wang, "HOBA: A novel feature engineering methodology for credit card fraud detection with a deep learning architecture," Information Sciences, Vol. 557, 2021, pp. 302-316, https://www.sciencedirect.com/science/article/abs/pii/S002002551930427X. Daniel Gibert, Jordi Planes, Carles Mateu, and Quan Le, "Fusing feature engineering and deep learning: A case study for malware classification," Expert Systems with Applications, Vol. 207, 2022, https://www.sciencedirect.com/science/article/pii/S0957417422011927. Ebenezerm Esenogho, Ibomoiye Domor Mienye, Theo Swart, Kehinde Aruleba, and George Obaido, "A Neural Network Ensemble With Feature Engineering for Improved Credit Card Fraud Detection," IEEE Access, Vol. 10, 2020, pp. 16400-16407, https://ieeexplore.ieee.org/abstract/document/9698195.