کدگذاری برچسب در پایتون — به زبان ساده

کدگذاری برچسب در پایتون

کدگذاری برچسب «Label Encoding» یکی از تکنیک‌های مهم در پیش پردازش داده‌ها «Data Preprocessing» در پروژه‌های یادگیری ماشین «Machine Learning» و داده کاوی «Data Mining» است که به منظور تبدیل داده‌های دسته‌ای به داده‌های عددی استفاده می‌شود. در این مقاله از مجله پی استور به نحوه کدگذاری برچسب در پایتون همراه با مثال و پیاده سازی خواهیم پرداخت.

مقدمه

کدگذاری برچسب به ماشین‌های یادگیری اجازه می‌دهد تا با داده‌های عددی که تنها ورودی‌های مدل هستند، کار کنند. به کمک کدگذاری برچسب، می‌توان داده‌های دسته‌ای را به شکل قابل فهم برای الگوریتم‌های یادگیری ماشین تبدیل کرد و از آن‌ها برای آموزش مدل‌های مختلف استفاده کرد. استفاده نادرست از کدگذاری برچسب ممکن است منجر به مشکلاتی در مدل شود، به خصوص در مواردی که اطلاعات ترتیبی بین دسته‌ها وجود ندارد. در این مقاله، ابتدا توضیح می‌دهیم که کدگذاری برچسب چیست؟ و چگونه می‌توان آن را در پایتون پیاده‌سازی کرد، و سپس محدودیت‌های آن را بررسی خواهیم کرد تا فراگیران عزیز بتوانند در پروژه‌های خود به درستی از این تکنیک استفاده کنند.

به طور کلی در پروژه‌های یادگیری ماشین، معمولاً با مجموعه داده‌هایی سر و کار داریم که دارای ستون‌های مختلفی از نوع دسته‌ای هستند که برخی از ستون‌ها عناصر آنها در دسته متغیر ترتیبی قرار دارند به عنوان مثال یک ستون از مجموعه داده ای که سطح درآمد اشخاص را نشان می دهد دارای عناصر کم، متوسط و زیاد است در این حالت می‌توانیم این عناصر را با اعداد ۱، ۲، ۳ جایگزین کنیم.

مثال کدگذاری برچسب
مثالی ساده از کدگذاری برچسب

که در آن ۱ نمایانگر کم، ۲ نمایانگر متوسط و ۳ نمایانگر زیاد است. از طریق این نوع برچسب گذاری، سعی می‌کنیم معنای عنصر را حفظ کنیم و وزن‌های بیشتری به عناصر با اولویت بالاتر اختصاص دهیم.

برچسب گذاری چیست؟

برچسب گذاری یک تکنیک است که برای تبدیل ستون‌های دسته‌ای «Categorical» به ستون‌های عددی «Numerical» استفاده می‌شود تا بتوانند توسط مدل‌های یادگیری ماشین که تنها داده‌های عددی می‌گیرند، تناسب داده شوند. این فرآیند یک مرحله پیش پردازش مهم در یک پروژه یادگیری ماشین است.

مثالی از برچسب گذاری

تصور می‌کنیم در یک مجموعه داده یا دیتاست، یک ستون قد داریم که عناصر آن Tall، Medium و short هستند. برای تبدیل این ستون دسته‌ای به یک ستون عددی، برچسب گذاری را به این ستون اعمال می‌کنیم. پس از اعمال برچسب گذاری، ستون قد به یک ستون عددی تبدیل می‌شود که عناصر آن ۰، ۱ و ۲ هستند، جایی که ۰ نشان‌دهنده قد بلند، ۱ نشان‌دهنده قد متوسط و ۲ نشان‌دهنده قد کوتاه است.

قد برچسب
قد بلند ۰
قد متوسط ۱
قد کوتاه ۲

برای پیاده سازی در پایتون، برچسب گذاری را روی مجموعه داده Iris روی ستون هدف که Species نام دارد اعمال می‌کنیم. این ستون حاوی سه گونه Iris-setosa، Iris-versicolor و Iris-virginica است.

# Import libraries 
import numpy as np 
import pandas as pd 

# Import dataset 
df = pd.read_csv('../../data/Iris.csv') 

df['species'].unique() 

خروجی:

array(['Iris-setosa', 'Iris-versicolor', 'Iris-virginica'], dtype=object)

پس از اعمال برچسب گذاری با ()LabelEncoder مقدار دسته‌ای با مقدار عددی [int] جایگزین خواهد شد.

# Import label encoder 
from sklearn import preprocessing 

# label_encoder object knows 
# how to understand word labels. 
label_encoder = preprocessing.LabelEncoder() 

# Encode labels in column 'species'. 
df['species']= label_encoder.fit_transform(df['species']) 

df['species'].unique() 

خروجی:

array([0, 1, 2], dtype=int64)

محدودیت برچسب گذاری

برچسب گذاری داده‌های دسته‌ای را به عددی تبدیل می‌کند، اما یک عدد منحصر به فرد (شروع از ۰) به هر کلاس داده اختصاص می‌دهد. این ممکن است منجر به ایجاد مسائل اولویت در طی آموزش مدل مجموعه داده‌ها شود. یک برچسب با مقدار بالا ممکن است به عنوان دارای اولویت بالاتر از یک برچسب با مقدار پایین تلقی شود.

مثال برای محدودیت برچسب گذاری

یک ویژگی دارای کلاس‌های خروجی تهران، تبریز، مشهد است. با برچسب گذاری، این ستون تهران با ۰ جایگزین می‌شود، تبریز با ۱ و مشهد با ۲ جایگزین می‌شود.

با این کار می‌توان تفسیر کرد که مشهد اولویت بالاتری نسبت به تبریز و تهران دارد در حالی که مدل در حال آموزش است، اما در واقع هیچ رابطه اولویت خاصی بین این شهرها وجود ندارد.

نتیجه‌گیری

در نهایت، کدگذاری برچسب به عنوان یک روش کارآمد برای تبدیل داده‌های دسته‌ای به عددی در پروژه‌های یادگیری ماشین شناخته می‌شود. هرچند که این روش ساده می‌تواند مشکلاتی مانند اولویت نادرست یا تفاسیر نادرست از داده‌ها ایجاد کند، آگاهی از این محدودیت‌ها و استفاده هوشمندانه از تکنیک‌های دیگر، می‌تواند به بهبود عملکرد مدل‌های یادگیری ماشین کمک کند. بنابراین، در هنگام استفاده از کدگذاری برچسب، باید به دقت داده‌ها را بررسی کرد و درک کاملی از ارتباطات بین دسته‌ها داشت تا از بروز خطاهای آموزش جلوگیری شود.


سوالات متداول


کدگذاری برچسب چیست و چرا استفاده می‌شود؟

کدگذاری برچسب یک روش برای تبدیل داده‌های دسته‌ای به داده‌های عددی است که می‌تواند به مدل‌های یادگیری ماشین کمک کند تا با داده‌های ورودی عددی بهتر تعامل کنند. این روش برای تبدیل متغیرهای دسته‌ای مانند رشته‌های نام یا دسته‌ها به اعداد استفاده می‌شود.

آیا برچسب گذاری محدودیت‌هایی دارد؟

بله، برچسب گذاری می‌تواند منجر به مشکلاتی مانند اولویت نادرست بین دسته‌ها شود، به خصوص زمانی که ارتباط ترتیبی بین آنها وجود نداشته باشد. این ممکن است در طول آموزش مدل منجر به نتایج نادرست شود.

چگونه می‌توان برچسب گذاری را در پایتون پیاده‌سازی کرد؟

می‌توان برچسب گذاری را در پایتون با استفاده از کتابخانه‌های مانند sklearn.preprocessing.LabelEncoder پیاده‌سازی کرد. با استفاده از این ابزار، می‌توان ستون‌های دسته‌ای را به عدد تبدیل کرد تا مدل‌های یادگیری ماشین بتوانند آنها را پردازش کنند.

چه زمانی از برچسب گذاری استفاده نکنیم؟

بهتر است از برچسب گذاری در داده‌های ترتیبی یا زمانی که بین دسته‌ها اولویت خاصی وجود ندارد استفاده نشود. برای این موارد، استفاده از روش‌های دیگری مانند کدگذاری دما توصیه می‌شود.

میزان رضایتمندی
لطفاً میزان رضایت خودتان را از این مطلب با دادن امتیاز اعلام کنید.
[ امتیاز میانگین 5 از 1 نفر ]
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع و مراجع:
scikit-learn javatpoint geeksforgeeks مجله پی استور

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *



برچسب‌ها:
یادگیری ماشین


پیمایش به بالا