TGViewer
فینپای | FinPy فینپای | FinPy @finpy · 2.33K subscribers
Post #987 2.3K
#فیچر_سلکشن

ارزیابی کارآمدی روش های فیچر سلکشن - مقدمات

▫️فیچر سلکشن یکی از مهمترین مراحل توسعه یه مدل ML هست که در اون سعی میشه از ابعاد فضای ورودی مدل (تعداد فیچرها) کاسته بشه. این کاهش ابعاد میتونه تفسیرپذیری مدل و ساختن تئوری رو ساده تر و همچنین ترین کردن (و حتی فاز جمع آوری داده) رو سریعتر کنه. ساختن تئوری بر اساس تفسیر مدل تو فایننس اهمیت ویژه ای داره تا مدل هایی که توسعه دادیم بعدا و در عمل دستمون رو تو پوست گردو نزارن، ضمن اینکه ساخت تئوری با تفسیر مدل های ML میتونه حتی در پیش بینی قوهای سیاه هم راهگشا باشه (اینجا). اما مهمتر از همه این موارد، فیچر سلکشن میتونه با کاهش امکان اورفیت از طریق شناسایی و حذف فیچرهای نویز که قابلیت پیش بینی ندارند و به تبع اون افزایش جنرالیزیشن، کارآمدی بهتر روی داده هایی که مدل ندیده رو برامون به ارمغان بیاره.

▫️حالا که اهمیت فیچر سلکشن رو مرور کردیم و متوجه شدیم که مهمترین کاری که فیچر سلکشن برامون انجام میده، حذف فیچرهای نویز هست، سوالی که پیش میاد اینه که روش هایی که برای فیچر سلکشن معرفی شدن، چقدر در انجام این مهم موفق اند. به عبارت دیگه چطور کارآمدی روش های فیچر سلکشن رو ارزیابی و یک یا دو تاش رو تو جعبه ابزارمون برای استفاده در مدل هایی که توسعه میدیم، بزاریم؟ ما که برای یک مساله موجود نمیدونیم کدوم فیچرها نویزاند، چطور بفهمیم چیزی که یک الگوریتم فیچر سلکشن به عنوان نویز به ما معرفی کرده درسته؟

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

▫️به عنوان مثال میتونیم یه دیتاست با ۲۵ تا فیچر بسازیم که ۵ تاش نویز، ۵ تاش فیچرهای به اصطلاح informative و بقیه فیچرهای redundant باشند. سپس با استفاده از فیچرهای informative متغیر هدف (مثلا لیبل های صفر و یک) رو تولید کنیم. توضیح اینکه فیچرهای redundant هم از روی فیچرهای informative و با اضافه کردن نویزی با واریانس دلخواه تولید میشن.

▫️جزئیات چنین رویه ای، که برای ارزیابی کارآمدی الگوریتمهای مختلف در شناسایی فیچرهای نویز مورد استفاده قرار گرفته، در فصل ۶ این کتاب همراه با کد توضیح داده شده. در خصوص روش های فیچر سلکشن هم میتونید به همین کتاب مراجعه کنید اما هدف از این پست معرفی پکیج BorutaShap بود که در ادامه بهش خواهیم پرداخت.

@FinPy
  • 👍 11
  • 👎 1
More from @finpy
  1. Jun 14, 2025دل‌نوشته‌ای برای ایران عزیز ایران عزیز و زخمی، فقط می‌توانم بگویم شکیبا باش. ما تو را همچن…
  2. May 31, 2025#جیمز_سایمون #اپیزود 🎙 گفتگو: درسهایی از سایمون ▫️آیا واقعاً همه چیز در قیمت‌های فعلی باز…
  3. Jul 19, 2024#کتابچه_آموزشی Investment Model Validation - CFA Institute ▫️اعتبارسنجی یا Validation مهمت…
  4. Jul 2, 2024#معرفی_کتاب ▫️ پیش بینی هایی که توسط مدل های ماشین لرنینگ انجام میشه، اگه با یه درجه اطمین…
  5. Jul 2, 2024انتخاب k برای k-fold کراس ولیدیشن ▫️یکی از کاربردهای کراس ولیدیشن، تخمین عملکرد (Performan…
  6. Jun 12, 2024پیش بینی جهت بازار ▫️تشخیص صحیح جهت حرکت قیمت که از منظر ML یه مساله باینری کلاسیفیکیشنه،…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →