کدبندی داده‌های غیر عددی با روش OHE (One hot) + مثال عملی

برای طراحی و استفاده از مدل یادگیری ماشین (Machine learning) هنگامی که با داده‌های غیر عددی مواجه هستیم، از روش کدبندی One Hot استفاده می‌کنیم. در این روش به ازای مقادیر غیر کمی، ستون‌های جدیدی ایجاد کرده و مقدار آن را با 1 و 0 جایگذاری می‌کنیم. در این مقاله با بررسی مثال عملی قیمت‌گذاری خودرو، کاربرد عملی این روش را مرور خواهیم کرد.
کدبندی داده‌های غیر عددی با روش OHE (One hot) + مثال عملی

کدبندی داده‌های غیر عددی با روش OHE (One hot encoding) + مثال عملی

الگوریتم‌های یادگیری ماشین از داده‌های عددی برای کشف الگوهای پنهان داده‌ها و کمک به تکمیل فرایند داده کاوی استفاده می‌کنند. اما در برخی داده‌ها، همه‌ی متغیرهای مورد استفاده کمّی نیستند، بلکه با مقادیر طبقه بندی یا اسمی مواجه هستیم.

روش OHE

روش کدبندی OHE (one hot encoding) به تحلیلگر داده کمک می‌کند تا مقادیر غیر کمی را به الگوهای قابل استفاده در یادگیری ماشین machine learning)) تبدیل می‌کند.

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

Encoding for 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)