مهندسی ویژگی چیست و چه تکنیک هایی دارد؟

مهندسی ویژگی چیست و چه تکنیک هایی دارد؟

مهندسی ویژگی چیست و اصلا چرا ویژگی نیاز به مهندسی دارد؟ برای دریافت پاسخ این سوال با ما همراه باشید.

مهندسی ویژگی چیست ؟

مهندسی ویژگی چیست

 

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

در این پست به بررسی نیازها به مهندسی ویژگی میپردازیم. همچنین پاسخی جامع به پرسش ” مهندسی ویژگی چیست ” خواهیم داد.

اهداف مهندسی ویژگی

بطور کلی میتوان دو هدف برای مهندسی ویژگی در نظر گرفت:

1- آماده سازی مجموعه داده های ورودی مناسب که با نیازهای الگوریتم یادگیری ماشین سازگارند.

2- بهبود عملکرد مدلهای یادگیری ماشین

اهمیت مهندسی ویژگی

مهندسی ویژگی چیست

 

بر اساس نظرسنجی صورت گرفته در سایت Forbes دانشمندان 80 درصد از زمان خود را برای آمادده سازی داده ها صرف میکنند. این معیار، یک میزان چشمگیر برای نشان دادن اهمیت مهندسی ویژگی در علم داده یا data science دارد.

بنابراین تصمیم گرفتیم تا در این مقاله تکنیکهای اصلی مهنسی ویژگی را بطور خلاصه بیان کنیم و به توصیف آنها بپردازیم.

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

بهترین روش برای بدست آوردن تجربه و تخصص در مهندسی ویژگی، آزمایش تکنیکهای مختلف روی داده های مختلف و مشاهده تاثیر آنها بر عملکرد مدل مورد نظر است.

تکنیکهای مهندسی ویژگی چیست ؟

تکنیکهای مهندسی ویژگی چیست

در این جا لیستی از این تکنیکها را برای شما آورده ایم:

حتما بخوانید:  یادگیری ماشین چیست و چه کاربردهایی دارد؟

1- انتساب یا نسبت دادن

2- کنترل داده های خارج از محدوده

3- تبدیل لگاریتم

4- عملیات گروه بندی

5- ویژگی تقسیم

6- مقیاس گذاری

انتساب یا نسبت دادن

انتساب یا نسبت دادن

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

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

اما راه حل این مشکل مهندسی ویژگی چیست ؟

راه حل ساده برای این مشکل این است که سطرها و کل ستونهای دارای مقادیر از دست رفته را کنار بگذاریم. ما برای این کار یک مقدار آستانه تعریف میکنیم که برابر 0.7 است. این مقدار آستانه ممکن است مقدار ی کاملا بهینه نباشد، اما با این مقدار میتوان حدود 70 درصد از نمونه ها را تحت تاثیر قرار داد و سطرها و ستونهای دارای مقادیر از دست رفته را کنار گذاشت.

انتساب در مهندسی ویژگی چیست

کنترل داده های خارج از محدوده

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

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

حتما بخوانید:  سیستم های تعبیه شده چیست | کاربردهای سامانه نهفته

اگر بخواهیم به چگونگی کنترل داده های خارج از محدوده بپردازیم میتوانیم دو روش زیر را نام ببریم:

1- تشخیص از طریق انحراف معیار که مثالی از آن را در شکل زیر میبینید:

تشخیص از طریق انحراف معیار

2- تشخیص از طریق درصد که مثالی از آن را در شکل زیر میبینید:

تشخیص از طریق درصد

تبدیل لگاریتم

تبدیل لگاریتم یکی از پراستفاده ترین و رایج ترین تبدیلات ریاضی در مهندسی ویژگی میباشد. اما فواید این تبدیل در مهندسی ویژگی چیست ؟

1-  به شما کمک میکند تا داده ها را بطور گسترده کنترل کنید و پس از انجام تبدیل، نتیجه توزیع داده ها با تقریبی بسیار مناسب و نزدیک به مقدار نرمال و حقیقی انجام میشود.

2- همچنین این تبدیل تاثیر داده های خارج از محدوده را نیز کاهش میدهد. دلیل آن عادی سازی داده هایی است که مقدارشان بسیار متفاوت از بقیه میباشد. همین عامل باعث مقاوم تر شدن مدل مورد نظر شما خواهد شد.

مثالی از این تکنیک را در شکل زیر مشاهده میکنید:

تکینک تبدیل لگاریتمی

عملیات گروه بندی

در بیشتر الگوریتم های یادیگیری ماشین همه نمونه ها بصورت ردیف در مجموعه داده ها نمایش داده میشوند. جایی که هر ستون ویژگی های متفاوتی از نمونه ها را نشان میدهد. به این نوع داده ها، داده های مرتب یا به اصطلاح tidy میگویند.

به عبارت و بیان دیگر، ما داده ها را بوسیله نمونه ها گروه بندی میکنیم و سپس هر نمونه با تنها یک ردیف نمایش داده میشود.

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

حتما بخوانید:  منحنی راک چیست | ویژگی های منحنی ROC

در شکل زیر نمونه ای از عملیات گروه بندی برای ویژگی های عدد را ملاحظه میکنید:

عملیات گروه بندی برای ویژگی های عددی

ویژگی تقسیم

ویژگیهای تقسیم یکی از راه های خوب برای کاربردی کردن نمونه ها در یادگیری ماشین میباشد. بیشتر مواقع مجموعه داده ها، شامل ستونهایی رشته ای مانند میشوند که اصول داده های tidy را نقض میکنند. ما با استخراج قسمت های قابل استفاده یک ستون از ویژگیهای جدید میتوانیم:

1- الگوریتم های یادگیری ماشین را قادر به درک کردن بکنیم.

2- گروه بندی آنها را ممکن و ساده کنیم.

3- با کشف اطلاعات بالقوه عملکرد مدل را بهبود بخشیم.

تابع تقسیم یک ویژگی مناسب و خوب است. با این وجود، ما تنها یک راه برای تقسیم ویژگیها نداریم. چگونگی تقسیم آنها کاملا وابسته به مشخصه ها و داده های موجود در ستونها است.

در شکل زیر مثالی ساده از ویژگی تقسیم برای یک ستون معمولی را میبینید:

ویژگی تقسیم

مقیاس گذاری

در بیشتر موارد، ویژگیهای عددی از مجموعه داده ها رنج ثابتی ندارند دارای تفاوت نسبت به یکدیگر میباشند. مثلا در زندگی واقعی این مسئله واقعا ناممکن است که ستونهای سن و درآمد دارای رنج یکسانی باشند. اما از دیدگاه یادگیری ماشین چگونه میتوان این دو را باهم مقایسه کرد؟

مقیاس گذاری یا به اصطلاح scaling این مشکل را حل کرده است. ویژگیهای پیوسته، پس از انجام یک فرایند مقیاس گذاری از نظر رنج با یکدیگر یکسان میشوند. این ویژگی در حال حاضر برای خیلی از الگوریتمها اجباری نیست اما هنوز میتواند گزینه مناسبی برای برخی از الگوریتمها باشد. برای مثال الگوریتمهایی که برای محاسبه فاصله استفاده میشوند نیاز به scaling دارند.

امیدواریم از این مطلب لذت برده باشید.

پاسخی بگذارید

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

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