كيفية تنفيذ ترميز الملصقات في لغة بايثون (مع مثال)


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

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

على سبيل المثال، توضح لقطة الشاشة التالية كيفية تحويل كل قيمة فريدة لمتغير فئوي يسمى Team إلى قيمة عددية بناءً على الترتيب الأبجدي:

يمكنك استخدام بناء الجملة التالي لتنفيذ تشفير الملصقات في بايثون:

 from sklearn. preprocessing import LabelEncoder

#create instance of label encoder
lab = LabelEncoder()

#perform label encoding on 'team' column
df[' my_column '] = lab. fit_transform (df[' my_column '])

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: تسميات الترميز في بايثون

لنفترض أن لدينا DataFrame الباندا التالية:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'],
                   ' points ': [25, 12, 15, 14, 19, 23, 25, 29]})

#view DataFrame
print (df)

  team points
0 to 25
1 to 12
2 B 15
3 B 14
4 B 19
5 B 23
6 C 25
7 C 29

يمكننا استخدام الكود التالي لتنفيذ تشفير التسمية لتحويل كل قيمة فئوية في عمود الفريق إلى قيمة عددية:

 from sklearn. preprocessing import LabelEncoder

#create instance of label encoder
lab = LabelEncoder()

#perform label encoding on 'team' column
df[' team '] = lab. fit_transform (df[' team '])

#view updated DataFrame
print (df)

   team points
0 0 25
1 0 12
2 1 15
3 1 14
4 1 19
5 1 23
6 2 25
7 2 29

ومن النتيجة يمكننا أن نرى:

  • تم تحويل كل قيمة “A” إلى 0 .
  • تم تحويل كل قيمة “B” إلى 1 .
  • تم تحويل كل قيمة “C” إلى 2 .

لاحظ أنه يمكنك أيضًا استخدام الدالة inverse_transform() للحصول على القيم الأصلية لعمود الفريق :

 #display original team labels
lab. inverse_transform (df[' team '])

array(['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'], dtype=object)

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في بايثون:

كيفية تحويل متغير قاطع إلى رقمي في Pandas
كيفية تحويل القيم المنطقية إلى قيم صحيحة في الباندا
كيفية استخدام عامل () لترميز السلاسل كأرقام في Pandas

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *