كيفية عمل ترميز واحد ساخن في r
يتم استخدام التشفير السريع لتحويل المتغيرات الفئوية إلى تنسيق يمكن استخدامه بواسطة خوارزميات التعلم الآلي .
الفكرة الأساسية للتشفير السريع هي إنشاء متغيرات جديدة تأخذ القيمتين 0 و1 لتمثيل القيم الفئوية الأصلية.
على سبيل المثال، توضح الصورة التالية كيف يمكننا التشفير السريع لتحويل متغير فئوي يحتوي على أسماء الفرق إلى متغيرات جديدة تحتوي على قيم 0 و1 فقط:
يوضح المثال التالي خطوة بخطوة كيفية إجراء التشفير لمرة واحدة لمجموعة البيانات المحددة هذه في R.
الخطوة 1: إنشاء البيانات
أولاً، لنقم بإنشاء إطار البيانات التالي في R:
#create data frame df <- data. frame (team=c('A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'), points=c(25, 12, 15, 14, 19, 23, 25, 29)) #view data frame df team points 1 to 25 2 to 12 3 B 15 4 B 14 5 B 19 6 B 23 7 C 25 8 C 29
الخطوة 2: تنفيذ التشفير السريع
بعد ذلك، دعونا نستخدم الدالة dummyVars() الخاصة بحزمة علامة الإقحام لتشفير متغير “team” في إطار البيانات بشكل سريع:
library ( caret) #define one-hot encoding function dummy <- dummyVars(" ~ . ", data=df) #perform one-hot encoding on data frame final_df <- data. frame (predict(dummy, newdata=df)) #view final data frame final_df teamA teamB teamC points 1 1 0 0 25 2 1 0 0 12 3 0 1 0 15 4 0 1 0 14 5 0 1 0 19 6 0 1 0 23 7 0 0 1 25 8 0 0 1 29
لاحظ أنه تمت إضافة ثلاثة أعمدة جديدة إلى إطار البيانات نظرًا لأن عمود “الفريق” الأصلي يحتوي على ثلاث قيم فريدة.
لاحظ أيضًا أنه تمت إزالة عمود “الفريق” الأصلي من إطار البيانات حيث لم تعد هناك حاجة إليه.
اكتمل التشفير السريع ويمكننا الآن إدخال مجموعة البيانات هذه في أي خوارزمية تعلم آلي من اختيارنا.
ملاحظة : يمكنك العثور على الوثائق الكاملة عبر الإنترنت لوظيفة dummyVars() هنا .
مصادر إضافية
توفر البرامج التعليمية التالية معلومات إضافية حول استخدام المتغيرات الفئوية:
كيفية إنشاء المتغيرات الفئوية في R
كيفية رسم البيانات الفئوية في R
المتغيرات الفئوية أو الكمية: ما الفرق؟