Ali Ahmed55 نشر 1 فبراير أرسل تقرير نشر 1 فبراير السلام عليكم هو اي الفرق مابين الLabelEncoder وبين الOrdinalEncoder ؟ 1 اقتباس
0 محمد عاطف17 نشر 1 فبراير أرسل تقرير نشر 1 فبراير وعليكم السلام ورحمة الله وبركاته. 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 1 اقتباس
0 Ali Ahmed55 نشر 1 فبراير الكاتب أرسل تقرير نشر 1 فبراير بتاريخ 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 الف شكراا جدا لحضرتك جزاك الله كل خير 1 اقتباس
0 عبدالباسط ابراهيم نشر 1 فبراير أرسل تقرير نشر 1 فبراير بشكل مبسط الفرق بينهما يكمن في أن Label Encoding يقوم بإعطاء رقم فريد لكل فئة من فئات المتغير النصي. ولكن المشكلة هي أنه قد يُدخل ترتيبًا وهميًا بين الفئات، حتى لو لم يكن هناك أي ترتيب منطقي بينها. على سبيل المثال، إذا كان لدينا ألوان "أحمر"، "أخضر"، "أزرق"، قد يتم ترميزها كـ 0، 1، 2 على التوالي. هنا، قد يفهم النموذج أن "الأزرق" أكبر من "الأخضر"، وهو أمر غير منطقي. لذلك يُفضل استخدامه عندما لا يكون هناك ترتيب منطقي بين الفئات، مثل أسماء المدن أو أنواع المنتجات. بينما Ordinal Encoding يُستخدم عندما يكون هناك ترتيب منطقي بين الفئات على سبيل المثال، إذا كان لدينا مستويات تعليمية "مدرسة ثانوية"، "بكالوريوس"، "ماجستير"، "دكتوراه"، يمكن ترميزها كـ 0، 1، 2، 3 على التوالي. هنا، يحافظ الترميز على الترتيب المنطقي بين المستويات التعليمية. لذلك يُفضل استخدامه عندما يكون هناك ترتيب منطقي بين الفئات، مثل المستويات التعليمية، أو تقييمات العملاء (ضعيف، متوسط، جيد جدًا). 1 اقتباس
0 Ali Ahmed55 نشر 1 فبراير الكاتب أرسل تقرير نشر 1 فبراير بتاريخ 27 دقائق مضت قال عبدالباسط ابراهيم: بشكل مبسط الفرق بينهما يكمن في أن Label Encoding يقوم بإعطاء رقم فريد لكل فئة من فئات المتغير النصي. ولكن المشكلة هي أنه قد يُدخل ترتيبًا وهميًا بين الفئات، حتى لو لم يكن هناك أي ترتيب منطقي بينها. على سبيل المثال، إذا كان لدينا ألوان "أحمر"، "أخضر"، "أزرق"، قد يتم ترميزها كـ 0، 1، 2 على التوالي. هنا، قد يفهم النموذج أن "الأزرق" أكبر من "الأخضر"، وهو أمر غير منطقي. لذلك يُفضل استخدامه عندما لا يكون هناك ترتيب منطقي بين الفئات، مثل أسماء المدن أو أنواع المنتجات. بينما Ordinal Encoding يُستخدم عندما يكون هناك ترتيب منطقي بين الفئات على سبيل المثال، إذا كان لدينا مستويات تعليمية "مدرسة ثانوية"، "بكالوريوس"، "ماجستير"، "دكتوراه"، يمكن ترميزها كـ 0، 1، 2، 3 على التوالي. هنا، يحافظ الترميز على الترتيب المنطقي بين المستويات التعليمية. لذلك يُفضل استخدامه عندما يكون هناك ترتيب منطقي بين الفئات، مثل المستويات التعليمية، أو تقييمات العملاء (ضعيف، متوسط، جيد جدًا). تمام جدا الف شكرااا لحصرتك جزاك الله كل خير اقتباس
السؤال
Ali Ahmed55
السلام عليكم
هو اي الفرق مابين الLabelEncoder وبين الOrdinalEncoder ؟
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.