انتخاب ویژگی (Feature Selection) چیست؟

مدرس: مسعود کاویانی

در مواقعی که بحث کار عملی (و صنعتی) بر روی داده‌ها پیش میآید و از مباحث تئوری و آکادمیکِ دانشگاهی فاصله می‌گیریم، شاید مهم‌ترین بخش برای عملیاتِ داده‌کاویْ عملیاتِ انتخابِ ویژگی است. در مباحثِ آکادمیک معمولا ویژگی‌ها در مسئله در اختیار کاربران قرار دارند ولی در مباحث عملی یک متخصص علوم‌داده بایستی خود (البته با همکاری تیم‌های مختلف مانند تیم فروش و…) ویژگی‌های مورد نیاز را از میان دادگان استخراج کند. حتی برخی از موارد بایستی خود به دنبال ساخت دیتاستِ جدید بگردید و داده‌ها را جمع آوری کنید. در درس ویژگی و پس از آن در داده‌کاوی چیست، با این مبحث آشنایی اولیه پیدا کردید، در این درس می‌خواهیم بیشتر به عملیاتِ انتخاب ویژگی یا همان Feature Selection که به نظرْ مهمترین بخش عملیات داده‌کاوی و یادگیری‌ماشین است بپردازیم.

مثالی که چند درسِ قبلِ دوره‌ی جاری را با آن جلو آمدیدم را در نظر داشته بگیرید. شرکت گوگل می‌خواهد یک الگوریتم توسعه دهد که با آن بتواند بفهمد که یک ایمیلْ هرزنامه است یا خیر؟ برای این کار بایستی ویژگی‌های مختلفی را جمع آوری کند، برای مثال یکی از مجموعه ویژگی‌ها می‌تواند بردار TF-IDF باشد (که در درسی جدا به آن خواهیم پرداخت). بردار TF-IDF برداری است که از روی کلمات می‌تواند ویژگی‌های مختلف را برای یک متن بسازد (در واقع متن را تبدیل به اعداد قابل فهم برای الگوریتم کند). همان‌طور که می‌دانید محتوای اصلی یک ایمیلْ متنِ آن است. پس گوگل از متن‌های موجود در ایمیل یک مجموعه ویژگی می‌سازد. مثلا اینکه تعداد تکرار کلمه‌ی “تبلیغ” در متن یک ایمیل چقدر بوده است؟ یا تعداد تکرار کلمه “جایزه” در یک ایمیل چقدر بوده است؟ الگوریتم یادگیری‌ماشین با استفاده از این دست ویژگی‌ها می‌تواند به بفهمد یک ایمیلْ هرزنامه هست یا خیر.

ولی آیا تمامِ ویژگی‌ها برای طبقه‌بندیِ یک ایمیلْ می‌تواند صرفاً از روی متونِ آن به دست آید؟ در این مثال شاید بتوان ویژگی‌ها یا همان ابعادِ دیگری را نیز از ایمیل‌ها استخراج کرد و به الگوریتم یاد داد. مثلا اینکه IP ارسال کننده کدام است؟ یعنی ممکن است IP ارسال کننده نیز در طبقه‌بندی تاثیر داشته باشد چون برخی از ارسال کننده‌های هرزنامه (Spam) از IPهای مشخصْ ایمیل‌های هرزنامه را ارسال می‌کنند و الگوریتمِ یادگیری‌ماشین می‌تواند این IPها را در طبقه‌بندیِ ایمیل (به هرزنامه یا غیرِ هرزنامه) تاثیر دهد.

مثلا تعدادِ تصاویرِ موجود در یک ایمیل هم می‌تواند به عنوان یکی از ویژگی‌ها یا همان ابعادْ درنظر گرفته شود چون این احتمال می‌رود که تعداد تصاویر هم بتواند یکی از ویژگی‌های تاثیرگزار در هرزنامه بودن یا نبودن ایمیل باشد.

مثال اتوبوس و پراید را به یاد بیاورید (اگر نخوانده‌اید حتما بخوانید). در آن مثال دو ویژگیِ طول و ارتفاع ماشین جهت طبقه‌بندی در نظر گرفته شده بود. اگر بخواهیم ویژگی‌های دیگری به آن مسئله اضافه کنیم، چه ویژگی‌هایی می‌تواند باشد؟ کمی فکر کنید. برای مثال شاید تعداد سرنشینانِ ماشین، یکی از ویژگی‌هایی باشد که بتوان به دو ویژگی دیگر اضافه کرد و با کمک آن بتوان کیفیت طبقه‌بندی را بهبود بخشید.

در واقع با انتخاب و مهندسی ویژگی (Feature Engineering) می‌توان ویژگی‌هایی را به مسئله اضافه کرد که دقتِ عملیات داده‌کاوی (طبقه‌بندی یا خوشه‌بندی) را افزایش دهد.

ترتیب پیشنهادی خواندن درس‌های این مجموعه به صورت زیر است:
منابع این بحث و اطلاعات بیشتر

» فصل ۱۲کتاب Mining Of Massive Datasets

در صورت تمایل به یادگیری بیشتر، منابع بالا در نظر گرفته شده است. می توانید با خواندن این منابع، به یادگیری خود در این زمینه عمق ببخشید

8 دیدگاه دربارهٔ «انتخاب ویژگی (Feature Selection) چیست؟»

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

  2. سلام
    بردار کلمات مثلا glove از روی دیتاست ساخته می شود؟ یا قبلا فایل glove گرداوری شده و برای محاسبه دقت تشخیص کلمات، روی هر دیتاستی مانندآرمان و ویکی پدیا و.‌‌‌‌‌‌..اعمال می شود .

  3. سلام بسیار بیان ساده و روان مطالب تخصصی از امتیازات منحصر بفرد شما استاد بزرگوارست. بسیار عالی ارزوی بهتریتگن را برای شما دارم

دیدگاهتان را بنویسید

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