المزيد من مقالات التعلم العميق......المزيد من مقالات تعلم الآلة.....مقالات التعلم العميقمقالات تعلم الآلة

تحويل الميزات الفئوية إلى عددية باستخدام بايثون

أكثر أنواع الميزات غير الرقمية non-numeric features شيوعًا هي السمات الفئوية categorical features. في هذه المقالة، سوف أطلعك على الميزات الفئوية في التعلم الآلي، وكيفية تحويل الميزات الفئوية إلى قيم رقمية numerical values باستخدام بايثون.

ما هي الميزات الفئوية؟

تعتبر الميزة فئوية إذا كان من الممكن وضع القيم في مجموعات وكان ترتيب القيم غير مهم. في بعض الحالات، يسهل التعرف على هذا النوع من الوظائف. على سبيل المثال، عندما يستغرق الأمر بضع قيم سلسلة فقط، مثل البريد العشوائي ولحم الخنزير.

في حالات أخرى، فإن مسألة ما إذا كان الكيان كيانًا رقميًا (كاملًا) أم كيانًا فئويًا ليس واضحًا جدًا. في بعض الأحيان يمكن أن يكون أحدهما تمثيلاً صالحًا ويمكن أن يؤثر الاختيار على أداء النموذج.

مثال على ذلك دالة تمثل يوم الأسبوع، والتي يمكن ترميزها بشكل صحيح إما كرقم (عدد الأيام منذ يوم الأحد) أو كقيمة فئوية (أسماء الاثنين والثلاثاء وما إلى ذلك).

كيفية التعرف على السمات الفئوية؟

توضح الصورة أدناه كيفية تحديد الميزات الفئوية في التعلم الآلي:

 

في الجزء العلوي توجد مجموعة بيانات الشخص الفردي، والتي لها وظيفة تصنيفية للحالة الزوجية Marital Status. يوجد في الجزء السفلي مجموعة بيانات تحتوي على معلومات حول ركاب تيتانيك.

الميزات التي تم تحديدها على أنها فئوية هنا هي Survival (سواء نجا الراكب أم لا) ، Pclass (في أي فئة كان المسافر مسافرًا) ، Gender (ذكر أو أنثى) ، و Onboard (من أي مدينة استقل الركاب).

تحويل الميزات الفئوية إلى قيم رقمية

تستخدم بعض خوارزميات التعلم الآلي دوال فئوية في الأصل، ولكنها تتطلب عمومًا بيانات في شكل رقمي. يمكنك ترميز الكيانات الفئوية كأرقام (رقم واحد لكل فئة) ، لكن لا يمكنك استخدام هذه البيانات المشفرة كخاصية فئوية حقيقية، لأنك قدمت بعد ذلك ترتيبًا (عشوائيًا) للفئات.

تذكر أن إحدى خصائص الكيانات الفئوية هي أنها غير مرتبة. بدلاً من ذلك، يمكنك تحويل كل فئة من الفئات إلى كيان ثنائي منفصل له قيمة 1 للحالات التي ظهرت فيها الفئة وقيمة 0 إذا لم تظهر كذلك.

لذلك، يتم تحويل كل ميزة فئوية إلى مجموعة من الكيانات الثنائية، واحدة لكل فئة. تسمى الكيانات التي تم إنشاؤها بهذه الطريقة أحيانًا بالمتغيرات الوهمية dummy variables.

كود Python لتحويل الميزات الفئوية إلى قيم عددية

شبه الكود لتحويل الكيانات الفئوية إلى قيم رقمية هو كما يلي:

def cat_to_num(data):
  categories = unique(data)
  features = []
  for cat in categories:
    binary = (data == cat)
    features.append(binary.astype("int"))
  return features

يعمل كود بايثون أعلاه لتحويل الميزات الفئوية إلى قيم عددية مع معظم خوارزميات التعلم الآلي. لكن بعض الخوارزميات مثل أنواع معينة من خوارزميات شجرة القرار decision tree والخوارزميات المرتبطة بها مثل الغابات العشوائية random forests يمكن أن تستخدم دوال فئوية أصلاً.

آمل أن تكون قد أحببت هذه المقالة حول كيفية تحويل الميزات الفئوية إلى قيم عددية.

بواسطة
thecleverprogrammer
المصدر
Convert Categorical Features to Numerical with Python

د. علاء طعيمة

كلية علوم الحاسوب وتكنولوجيا المعلومات / جامعة القادسية / العراق

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى