Scikit-learn: استخدم ترميز الملصقات متعدد الأعمدة


في التعلم الآلي، تشفير الملصقات هو عملية تحويل قيم المتغير الفئوي إلى قيم عددية.

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

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

 from sklearn. preprocessing import LabelEncoder

#perform label encoding on col1, col2 columns
df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. apply (LabelEncoder(). fit_transform )

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

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

لنفترض أن لدينا DataFrame الباندا التالية التي تحتوي على معلومات حول مختلف لاعبي كرة السلة:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'D'],
                   ' position ': ['G', 'F', 'G', 'F', 'F', 'G', 'G', 'F'],
                   ' all_star ': ['Y', 'N', 'Y', 'Y', 'Y', 'N', 'Y', 'N'],
                   ' points ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team position all_star points
0 AGY 11
1 AFN 8
2 BGY 10
3 BFY 6
4 BFY 6
5 CGN 5
6 CGY 9
7 DFN 12

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

 from sklearn. preprocessing import LabelEncoder

#perform label encoding across team, position, and all_star columns
df[[' team ', ' position ', ' all_star ']] = df[[' team ', ' position ', ' all_star ']]. apply (LabelEncoder(). fit_transform )

#view udpated DataFrame
print (df)

   team position all_star points
0 0 1 1 11
1 0 0 0 8
2 1 1 1 10
3 1 0 1 6
4 1 0 1 6
5 2 1 0 5
6 2 1 1 9
7 3 0 0 12

من النتيجة، يمكننا أن نرى أن كل قيمة من أعمدة الفريق والموضع و All_star قد تم تحويلها إلى قيم عددية.

على سبيل المثال، في عمود الفريق يمكننا أن نرى:

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

لاحظ أنه في هذا المثال قمنا بتنفيذ تشفير التسمية على ثلاثة أعمدة من DataFrame، ولكن يمكننا استخدام بناء جملة مماثل لتنفيذ تشفير التسمية على أي عدد نريده من الأعمدة الفئوية.

مصادر إضافية

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

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

Add a Comment

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