کدبندی دادههای غیر عددی با روش OHE (One hot encoding) + مثال عملی
الگوریتمهای یادگیری ماشین از دادههای عددی برای کشف الگوهای پنهان دادهها و کمک به تکمیل فرایند داده کاوی استفاده میکنند. اما در برخی دادهها، همهی متغیرهای مورد استفاده کمّی نیستند، بلکه با مقادیر طبقه بندی یا اسمی مواجه هستیم.
روش OHE
روش کدبندی OHE (one hot encoding) به تحلیلگر داده کمک میکند تا مقادیر غیر کمی را به الگوهای قابل استفاده در یادگیری ماشین machine learning)) تبدیل میکند.
دادههای طبقهبندی شده، مقادیر برچسب گذاری شدهی متغیرهای مؤثر در الگوهای دادهکاوی هستند. نمونه مواجهه الگوریتمهای یادگیری ماشین با این برچسبها متفاوت است. برخی از آنها مقادیر طبقه بندی را میپذیرند (مانند درخت تصمیم) اما برای استفاده از بیشتر الگوریتمها یا نمایش دادهها روی نمودار باید از مقادیر عددی استفاده شود.
Encoding for Machine learning
تبدیل دادههای طبقه ای به عددی، معمولا به صورت اعداد صحیح میباشد. در روش One Hot، تبدیل دادهها به اعداد باینری (صفر و یک) انجام میشود. برای این کار در ازای هر طبقه، یک ستون اضافه میشود. به عنوان مثال برای کدگذاری خودروهای سواری که در ادامه به طور مفصل روی آن کار خواهیم کرد، میتوان مطابق جدول زیر با روش one hot آنها را کدگذاری کرد.
# |
نوع خودرو |
1 |
پراید |
2 |
پراید |
3 |
سمند |
4 |
سمند |
5 |
تیبا |
# |
پراید |
سمند |
تیبا |
1 |
1 |
0 |
0 |
2 |
1 |
0 |
0 |
3 |
0 |
1 |
0 |
4 |
0 |
1 |
0 |
5 |
0 |
0 |
1 |
# |
رنگ |
1 |
سفید |
2 |
سیاه |
3 |
سفید |
4 |
سیاه |
5 |
سفید |
# |
سفید |
سیاه |
1 |
1 |
0 |
2 |
0 |
1 |
3 |
1 |
0 |
4 |
0 |
1 |
5 |
1 |
0 |
چه زمانی از روش OHE استفاده میشود؟
این نوع کدبندی برای مقادیری که به هم مرتبط نیستند و رتبه بندی (تقدم و تأخر) نسبت به هم ندارند مناسب است. مثلا اگر قصد تبدیل دادههای کیفی خیلی خوب، خوب، متوسط و ضعیف را داریم، میتوان آنها را به روش کدگذاری عدد صحیح با مقادیر ۴،۳،۲،۱ معادل سازی کنیم. اما برای نوع خودرو یا رنگ آن، چنین روشی مناسب نیست و باید از one hot encoding استفاده شود.
مثال عملی کدبندی OHE
حالا یک مثال عملی ساده را برای فهم بیشتر کاربرد کدبندی OHE با بررسی دادههای واقعی در زمینه قیمتگذاری خودرو انجام میدهیم. در جدول اول، ترکیبی از دیتای کمی و کیفی (نوعی) را مشاهده میکنید که در کنار یکدیگر قرار گرفته اند.
اما برای ارائه این دادگان به مدل هوش مصنوعی، لازم است مقادیر غیر کمی، یعنی نوع و رنگ خودرو را به اعداد تبدیل کنیم. برای این کار، روش One Hot به کمک ما میآید.
نمونه دادههای استخراج شده از سایت دیوار (16 بهمن 1401)
# |
نوع خودرو |
رنگ |
کارکرد |
مدل |
قیمت |
1 |
پراید |
سفید |
19,200 |
1399 |
269 |
2 |
پراید |
سیاه |
160,000 |
1393 |
199 |
3 |
سمند |
سفید |
200,000 |
1389 |
225 |
4 |
سمند |
سیاه |
15,000 |
1400 |
420 |
5 |
تیبا |
سفید |
63,000 |
1398 |
270 |
حالا مقادیر غیر کمی (ستونهای نارنجی و زرد) را به عنوان ستونهای جدول در نظر گرفته و معادل مقادیر آن در صورت برابری 1 و غیر آن 0 جایگذاری میکنیم.
# |
پراید |
سمند |
تیبا |
سفید |
سیاه |
کارکرد |
مدل |
قیمت |
1 |
1 |
0 |
0 |
1 |
0 |
19,200 |
1399 |
269 |
2 |
1 |
0 |
0 |
0 |
1 |
160,000 |
1393 |
199 |
3 |
0 |
1 |
0 |
1 |
0 |
200,000 |
1389 |
225 |
4 |
0 |
1 |
0 |
0 |
1 |
15,000 |
1400 |
420 |
5 |
0 |
0 |
1 |
1 |
0 |
63,000 |
1398 |
270 |
در صورت وجود هر گونه سؤال یا بحثی درباره این مطلب، از طریق بخش چت آنلاین سایت با ما ارتباط بگیرید. از مکالمه با شما خوشحال میشویم 😀
جهت ثبت سفارش داده کاوی، شماره تماس و توضیحات مختصری از سفارش خود را در بخش پشتیبانی ارسال نمایید. کارشناسان ما با شما تماس خواهند گرفت.
به زودی منتشر میشود:
- آموزش کار با پنداس (Python Pandas)