اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

وعليكم السلام ورحمة الله وبركاته.

  • LabelEncoder:
    • نقوم بإستخدامه لتحويل القيم الفئوية (Categorical) إلى قيم رقمية.
    • فلو لدينا  فئات غير مرتبة مثل "أحمر" و "أخضر" و "أزرق" ونحتاج إلى تحويلها إلى قيم عددية لنستيطع تحليلها يساعدنا الLabelEncoder في ذلك.
    • مثال :
      from sklearn.preprocessing import LabelEncoder
      
      labels = ["أحمر"، "أخضر"، "أزرق","أحمر]
      le = LabelEncoder()
      encoded_labels = le.fit_transform(labels)
      print(encoded_labels)  # Output: [0, 1, 2, 0]
    • وإليك التوثيق الرسمي :
      https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html

 

  • OrdinalEncoder:
    • أيضا نستخدمه لتحويل الفئات النصية إلى أرقام، ولكن الفئات هنا تكون مرتبة أى لها ترتيب معين عكس الLabelEncoder.
    • حيث يجب هنا تحديد الترتيب يدويا .
    • مثال 
      from sklearn.preprocessing import OrdinalEncoder
      encoder = OrdinalEncoder()
      encoder.fit([['heigh',3], ['medium',2], ['low',1]])
      encoder.transform([['medium'],['heigh'],['low'])
    • وإليك التوثيق الرسمي له :
      https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OrdinalEncoder.html

 

  • 0
نشر
بتاريخ 5 دقائق مضت قال محمد عاطف17:

وعليكم السلام ورحمة الله وبركاته.

  • LabelEncoder:
    • نقوم بإستخدامه لتحويل القيم الفئوية (Categorical) إلى قيم رقمية.
    • فلو لدينا  فئات غير مرتبة مثل "أحمر" و "أخضر" و "أزرق" ونحتاج إلى تحويلها إلى قيم عددية لنستيطع تحليلها يساعدنا الLabelEncoder في ذلك.
    • مثال :
      from sklearn.preprocessing import LabelEncoder
      
      labels = ["أحمر"، "أخضر"، "أزرق","أحمر]
      le = LabelEncoder()
      encoded_labels = le.fit_transform(labels)
      print(encoded_labels)  # Output: [0, 1, 2, 0]
    • وإليك التوثيق الرسمي :
      https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html

 

  • OrdinalEncoder:
    • أيضا نستخدمه لتحويل الفئات النصية إلى أرقام، ولكن الفئات هنا تكون مرتبة أى لها ترتيب معين عكس الLabelEncoder.
    • حيث يجب هنا تحديد الترتيب يدويا .
    • مثال 
      from sklearn.preprocessing import OrdinalEncoder
      encoder = OrdinalEncoder()
      encoder.fit([['heigh',3], ['medium',2], ['low',1]])
      encoder.transform([['medium'],['heigh'],['low'])
    • وإليك التوثيق الرسمي له :
      https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OrdinalEncoder.html

 

الف شكراا جدا لحضرتك

جزاك الله كل خير

  • 0
نشر

بشكل مبسط الفرق بينهما يكمن في أن Label Encoding يقوم بإعطاء رقم فريد لكل فئة من فئات المتغير النصي. ولكن المشكلة هي أنه  قد يُدخل ترتيبًا وهميًا بين الفئات، حتى لو لم يكن هناك أي ترتيب منطقي بينها.

على سبيل المثال، إذا كان لدينا ألوان "أحمر"، "أخضر"، "أزرق"، قد يتم ترميزها كـ 0، 1، 2 على التوالي. هنا، قد يفهم النموذج أن "الأزرق" أكبر من "الأخضر"، وهو أمر غير منطقي.

لذلك  يُفضل استخدامه عندما لا يكون هناك ترتيب منطقي بين الفئات، مثل أسماء المدن أو أنواع المنتجات.

بينما Ordinal Encoding يُستخدم عندما يكون هناك ترتيب منطقي بين الفئات على سبيل المثال، إذا كان لدينا مستويات تعليمية "مدرسة ثانوية"، "بكالوريوس"، "ماجستير"، "دكتوراه"، يمكن ترميزها كـ 0، 1، 2، 3 على التوالي. هنا، يحافظ الترميز على الترتيب المنطقي بين المستويات التعليمية.

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

  • 0
نشر
بتاريخ 27 دقائق مضت قال عبدالباسط ابراهيم:

بشكل مبسط الفرق بينهما يكمن في أن Label Encoding يقوم بإعطاء رقم فريد لكل فئة من فئات المتغير النصي. ولكن المشكلة هي أنه  قد يُدخل ترتيبًا وهميًا بين الفئات، حتى لو لم يكن هناك أي ترتيب منطقي بينها.

على سبيل المثال، إذا كان لدينا ألوان "أحمر"، "أخضر"، "أزرق"، قد يتم ترميزها كـ 0، 1، 2 على التوالي. هنا، قد يفهم النموذج أن "الأزرق" أكبر من "الأخضر"، وهو أمر غير منطقي.

لذلك  يُفضل استخدامه عندما لا يكون هناك ترتيب منطقي بين الفئات، مثل أسماء المدن أو أنواع المنتجات.

بينما Ordinal Encoding يُستخدم عندما يكون هناك ترتيب منطقي بين الفئات على سبيل المثال، إذا كان لدينا مستويات تعليمية "مدرسة ثانوية"، "بكالوريوس"، "ماجستير"، "دكتوراه"، يمكن ترميزها كـ 0، 1، 2، 3 على التوالي. هنا، يحافظ الترميز على الترتيب المنطقي بين المستويات التعليمية.

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

تمام جدا 

الف شكرااا لحصرتك 

جزاك الله كل خير

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...