تا به حال، ما این تصور را به شما می دادیم که یک مدل مستقیماً روی ردیف های یک مجموعه داده عمل می کند. با این حال، مدل ها در واقع داده ها را تا حدودی متفاوت دریافت می کنند.
به عنوان مثال، فرض کنید یک مجموعه داده پنج ستون را ارائه می دهد، اما تنها دو مورد از آن ستون ها ( b
و d
) ویژگی های مدل هستند. هنگام پردازش مثال در ردیف 3، آیا مدل به سادگی محتویات دو خانه برجسته شده (3b و 3d) را به صورت زیر می گیرد؟
در واقع، مدل در واقع آرایه ای از مقادیر ممیز شناور به نام بردار ویژگی را جذب می کند. شما می توانید یک بردار ویژگی را به عنوان مقادیر ممیز شناور در نظر بگیرید که شامل یک مثال است.
با این حال، بردارهای ویژگی به ندرت از مقادیر خام مجموعه داده استفاده می کنند. در عوض، معمولاً باید مقادیر مجموعه داده را به نمایش هایی پردازش کنید که مدل شما بهتر می تواند از آنها یاد بگیرد. بنابراین، یک بردار ویژگی واقعی تر ممکن است چیزی شبیه به این باشد:
آیا یک مدل با آموزش مقادیر واقعی در مجموعه داده، پیش بینی های بهتری نسبت به مقادیر تغییر یافته ایجاد نمی کند؟ با کمال تعجب، پاسخ منفی است.
شما باید بهترین راه را برای نمایش مقادیر داده خام به عنوان مقادیر قابل آموزش در بردار ویژگی تعیین کنید. این فرآیند مهندسی ویژگی نامیده می شود و بخشی حیاتی از یادگیری ماشین است. رایج ترین تکنیک های مهندسی ویژگی عبارتند از:
- عادی سازی : تبدیل مقادیر عددی به یک محدوده استاندارد.
- Binning (همچنین به عنوان سطل نامیده می شود): تبدیل مقادیر عددی به سطل های محدوده.
این واحد نرمال سازی و باینینگ را پوشش می دهد. واحد بعدی، کار با داده های طبقه بندی شده ، سایر اشکال پیش پردازش ، مانند تبدیل داده های غیر عددی، مانند رشته ها، به مقادیر ممیز شناور را پوشش می دهد.
هر مقدار در یک بردار ویژگی باید یک مقدار ممیز شناور باشد. با این حال، بسیاری از ویژگی ها به طور طبیعی رشته ها یا سایر مقادیر غیر عددی هستند. در نتیجه، بخش بزرگی از مهندسی ویژگی، مقادیر غیر عددی را به عنوان مقادیر عددی نشان میدهد. شما در ماژول های بعدی موارد زیادی را خواهید دید.