همانظور که میدانید قبل از این که یک الگوریتم ماشین لرنینگ را اجرا و ان را به یک مدل کنیم به انتخاب ویژگی ها یا همان فیچرسلکشن نیاز داریم که کار به نسبت پرهزینه و وقت گیر و سختی میباشد . خیلی از ویژگی های نمونه های ما در دیتاست میتوانند عملا کاربردی نداشته باشند و حتی بر روی مدل ما تاثیر بدی خواهند داشت که باید بر اساس الگوریتم هایی فیچرهایی که در دیتا ست برای ما مهم هستند را بیابیم
برای این که بهتیرن ویژگی ها برای داده های خود برسیم میتوانیم از روش انتخاب ویژگی الگوریتم ژنتیک استفاده نماییم .
برای درک این موضوع میتوانم از مثال زیر استفاده کنیم
یک مثال ساده را بیان میکنم. فرض کنید یک دولت برای پیشرفت علم پزشکی کشورش، تعدادی پزشک را شناسایی میکند. ژنهای این افراد را موردبررسی قرار داده؛ کسانی که دارای ژن برتر هستند را از میان آنها انتخاب کرده و برایشان شرایط ویژهای را فراهم میکنند تا اقدام به فرزند آوری کرده و ژن خود را تکثیر دهند. بهاینترتیب، دولت بستر را فراهم میکند تا آن فرزندان بعد از بالغ شدن به جامعه پزشکی به پیوندند و نیاز دولت به کادر درمان را برطرف کنند.
در اصل به زبان خیلی ساده و کاربردی اگر همه ی زیرمجموعه های ویژگی ها را مانند مفاهیم ژنتیکی یک جمعیت در نكر بگیریم و هر فیچر را یک ژن کاری که الگوریتم ژنتیک میکند این است که بهتیرن ژن ها را بر اساس ویژگی های تععین شده و الگریتمی که ما برای یادگیری ماشین برای ان تعیین میکنیم پیدا میکند و بهترین مجموعه از ژن ها را به ما میدهد چیزی که در اینجا مهم است که این الگوریتم از جهش و تغییر این ژن ها و تقاطع و ترکیب این فیچر ها نیز میتواند استفاده کند و برای این که بهترین اتفاق ممکن بیوفتد میتوان در یک لوپ برای اعدادی بهترین تعداد فیچر را استخراج کرد. چیزی که اینجا مهم است این است که ما یک مدل مثلا کلسیفیکیشن برای این الگوریتم به عنوان ویژگی نمونه تعیین میکنیم و این الگریتم بهترین فیچر های مربوط به ان که ژن حساب میشوند استخراج میشود .دقت کنید که الگوریتم ژنتیک بسیار فرا تر ایز این تعریف است ولی میتوان با همین تعریف نیز به سادگی از ان استفاده نمود
برای تهیه ی کد های نمونه میتوانید به فایل زیر مراجعه کنید
مهدی
جولای 26, 2023
سلام. بسیار ممنونم از این توضیحات در مورد انتخاب ویژگی!