كيفية استخدام pandas get dummies – pd.get_dummies
في كثير من الأحيان، تتضمن مجموعات البيانات التي نعمل معها في الإحصائيات متغيرات فئوية .
هذه هي المتغيرات التي تأخذ أسماء أو تسميات. الامثله تشمل:
- الحالة الاجتماعية (“متزوج، أعزب، مطلق”)
- حالة التدخين (“مدخن”، “غير مدخن”)
- لون العين (“أزرق”، “أخضر”، “بندقي”)
- مستوى التعليم (على سبيل المثال “المدرسة الثانوية”، “درجة البكالوريوس”، “درجة الماجستير”)
عند ضبط خوارزميات التعلم الآلي (مثل الانحدار الخطي والانحدار اللوجستيوالغابات العشوائية وما إلى ذلك)، فإننا غالبًا ما نقوم بتحويل المتغيرات الفئوية إلى متغيرات وهمية ، وهي متغيرات رقمية تستخدم لتمثيل البيانات بشكل فئوي.
على سبيل المثال، لنفترض أن لدينا مجموعة بيانات تحتوي على المتغير الفئوي “الجنس” . لاستخدام هذا المتغير كمتنبئ في نموذج الانحدار، سيكون من الضروري أولاً تحويله إلى متغير وهمي.
لإنشاء هذا المتغير الوهمي، يمكننا اختيار إحدى القيم (“ذكر”) لتمثل 0 والقيمة الأخرى (“أنثى”) لتمثل 1:
كيفية إنشاء متغيرات وهمية في الباندا
لإنشاء نماذج وهمية لمتغير في pandas DataFrame، يمكننا استخدام الدالة pandas.get_dummies() ، والتي تستخدم بناء الجملة الأساسي التالي:
pandas.get_dummies (البيانات، البادئة = لا شيء، الأعمدة = لا شيء، drop_first = خطأ)
ذهب:
- البيانات : اسم DataFrame الباندا
- البادئة : سلسلة لإضافتها إلى بداية عمود المتغير الوهمي الجديد
- columns : اسم العمود (الأعمدة) المطلوب تحويله إلى متغير وهمي
- drop_first : ما إذا كان سيتم إسقاط العمود المتغير الوهمي الأول أم لا
توضح الأمثلة التالية كيفية استخدام هذه الوظيفة عمليًا.
المثال 1: إنشاء متغير وهمي واحد
لنفترض أن لدينا DataFrame الباندا التالية:
import pandas as pd #createDataFrame df = pd. DataFrame ({' income ': [45, 48, 54, 57, 65, 69, 78], ' age ': [23, 25, 24, 29, 38, 36, 40], ' gender ': ['M', 'F', 'M', 'F', 'F', 'F', 'M']}) #view DataFrame df income age gender 0 45 23 M 1 48 25 F 2 54 24 M 3 57 29 F 4 65 38 F 5 69 36 F 6 78 40 M
يمكننا استخدام الدالة pd.get_dummies() لتحويل الجنس إلى متغير وهمي:
#convert gender to dummy variable p.d. get_dummies (df, columns=[' gender '], drop_first= True ) income age gender_M 0 45 23 1 1 48 25 0 2 54 24 1 3 57 29 0 4 65 38 0 5 69 36 0 6 78 40 1
أصبح عمود الجنس الآن متغيرًا وهميًا حيث:
- القيمة 0 تمثل “أنثى”
- القيمة 1 تمثل “ذكر”
المثال 2: إنشاء متغيرات وهمية متعددة
لنفترض أن لدينا DataFrame الباندا التالية:
import pandas as pd #createDataFrame df = pd. DataFrame ({' income ': [45, 48, 54, 57, 65, 69, 78], ' age ': [23, 25, 24, 29, 38, 36, 40], ' gender ': ['M', 'F', 'M', 'F', 'F', 'F', 'M'], ' college ': ['Y', 'N', 'N', 'N', 'Y', 'Y', 'Y']}) #view DataFrame df income age gender college 0 45 23 M Y 1 48 25 F N 2 54 24 M N 3 57 29 F N 4 65 38 F Y 5 69 36 F Y 6 78 40 M Y
يمكننا استخدام الدالة pd.get_dummies() لتحويل الجنس والكلية إلى متغيرات وهمية:
#convert gender to dummy variable p.d. get_dummies (df, columns=[' gender ', ' college '], drop_first= True ) income age gender_M college_Y 0 45 23 1 1 1 48 25 0 0 2 54 24 1 0 3 57 29 0 0 4 65 38 0 1 5 69 36 0 1 6 78 40 1 1
أصبح عمود الجنس الآن متغيرًا وهميًا حيث:
- القيمة 0 تمثل “أنثى”
- القيمة 1 تمثل “ذكر”
وأصبح عمود الكلية الآن متغيرًا وهميًا حيث:
- القيمة 0 تمثل جامعة “لا”.
- تمثل القيمة 1 “نعم” للكلية
مصادر إضافية
كيفية استخدام المتغيرات الوهمية في تحليل الانحدار
ما هو المصيدة المتغيرة الوهمية؟