تکنیک های مهندسی ویژگی برای یادگیری ماشین موضوعی اساسی در یادگیری ماشین است ، اما مواردی که اغلب نادیده گرفته می شود یا فریبنده ساده است.
مهندسی ویژگی فرایند انتخاب ، دستکاری و تبدیل داده های خام به ویژگی هایی است که می تواند در یادگیری نظارت شده استفاده شود. برای اینکه یادگیری ماشین در کارهای جدید به خوبی کار کند ، ممکن است طراحی و آموزش ویژگی های بهتر لازم باشد. همانطور که ممکن است بدانید ، "ویژگی" هر ورودی قابل اندازه گیری است که می تواند در یک مدل پیش بینی کننده استفاده شود - می تواند رنگ یک شی یا صدای صدای کسی باشد. مهندسی ویژگی ، به عبارت ساده ، عمل تبدیل مشاهدات خام به ویژگی های مورد نظر با استفاده از رویکردهای آماری یا یادگیری ماشین است.
در این مقاله خواهیم دید:
- مهندسی ویژگی چیست ،
- اهمیت مهندسی ویژگی ،
- تکنیک های مهندسی ویژگی برای یادگیری ماشین ،
- چند بهترین ابزار برای مهندسی ویژگی.
مهندسی ویژگی چیست
مهندسی ویژگی یک روش یادگیری ماشین است که از داده ها برای ایجاد متغیرهای جدید که در مجموعه آموزش نیستند ، استفاده می کند. این می تواند ویژگی های جدیدی را برای یادگیری تحت نظارت و بدون نظارت ، با هدف ساده سازی و سرعت بخشیدن به تبدیل داده ها و در عین حال باعث افزایش دقت مدل تولید کند. مهندسی ویژگی هنگام کار با مدل های یادگیری ماشین مورد نیاز است. صرف نظر از داده یا معماری ، یک ویژگی وحشتناک تأثیر مستقیمی بر مدل شما خواهد گذاشت.
اکنون برای درک آن به روشی بسیار ساده تر ، یک مثال ساده را در نظر بگیرید. در زیر قیمت خواص در شهر X وجود دارد. این مساحت خانه و قیمت کل را نشان می دهد.
اکنون این داده ها ممکن است برخی از خطاها داشته باشند یا ممکن است نادرست باشند ، همه منابع موجود در اینترنت صحیح نیستند. برای شروع ، یک ستون جدید برای نمایش هزینه هر فوت مربع اضافه خواهیم کرد.
این ویژگی جدید به ما کمک می کند تا چیزهای زیادی راجع به داده های خود درک کنیم. بنابراین ، ما یک ستون جدید داریم که هزینه هر فوت مربع را نشان می دهد. سه روش اصلی وجود دارد که می توانید هر خطایی را پیدا کنید. شما می توانید از Domain Hideal برای تماس با یک مشاور املاک یا نماینده املاک و مستغلات استفاده کنید و نرخ فوت مربع را به وی نشان دهید. اگر مشاوره شما اظهار داشت که قیمت گذاری در هر فوت مربع نمی تواند کمتر از 3400 باشد ، ممکن است مشکلی داشته باشید. داده ها را می توان تجسم کرد.
هنگامی که داده ها را ترسیم می کنید ، متوجه خواهید شد که یک قیمت با بقیه متفاوت است. در روش تجسم ، می توانید به راحتی متوجه مشکل شوید. راه سوم استفاده از آمار برای تجزیه و تحلیل داده های شما و یافتن هر مشکلی است. مهندسی ویژگی شامل فرآیند مختلف است -
- ایجاد ویژگی: ایجاد ویژگی ها شامل ایجاد متغیرهای جدید است که برای مدل ما بیشتر مفید خواهد بود. این می تواند اضافه یا حذف برخی از ویژگی ها باشد. همانطور که در بالا دیدیم ، هزینه هر ستون فوت مربع یک ایجاد یک ویژگی بود.
- تحول: تبدیل ویژگی به سادگی تابعی است که ویژگی ها را از یک بازنمایی به دیگری تبدیل می کند. هدف در اینجا ترسیم و تجسم داده ها است ، اگر چیزی با ویژگی های جدید اضافه نشود ، می توانیم تعداد ویژگی های استفاده شده ، سرعت بخشیدن به آموزش یا افزایش دقت یک مدل خاص را کاهش دهیم.
- استخراج ویژگی: استخراج ویژگی فرآیند استخراج ویژگی ها از یک مجموعه داده برای شناسایی اطلاعات مفید است. بدون تحریف روابط اصلی یا اطلاعات مهم ، این میزان داده ها را به مقادیر قابل کنترل برای پردازش الگوریتم ها تبدیل می کند.
- تجزیه و تحلیل داده های اکتشافی: تجزیه و تحلیل داده های اکتشافی (EDA) ابزاری قدرتمند و ساده است که می تواند با بررسی خصوصیات آن برای بهبود درک شما از داده های شما استفاده شود. این تکنیک اغلب هنگامی اعمال می شود که هدف ایجاد فرضیه های جدید یا یافتن الگوهای در داده ها باشد. این اغلب در مقادیر زیادی از داده های کیفی یا کمی که قبلاً مورد تجزیه و تحلیل قرار نگرفته اند استفاده می شود.
- معیار: یک مدل معیار ، کاربر پسی ترین ، قابل اعتماد ، شفاف و قابل تفسیر است که می توانید خود را اندازه گیری کنید. این ایده خوبی است که داده های تست را اجرا کنید تا ببینید مدل جدید یادگیری ماشین شما از یک معیار شناخته شده بهتر است یا خیر. این معیارها اغلب به عنوان اقدامات برای مقایسه عملکرد بین مدلهای مختلف یادگیری ماشین مانند شبکه های عصبی و دستگاه های وکتور پشتیبانی ، طبقه بندی کننده های خطی و غیرخطی یا رویکردهای مختلف مانند کیسه و تقویت استفاده می شوند. برای کسب اطلاعات بیشتر در مورد مراحل و فرآیند مهندسی ویژگی ، پیوندهای ارائه شده در پایان این مقاله را بررسی کنید. حال ، نگاهی بیندازیم که چرا در یادگیری ماشین به مهندسی ویژگی نیاز داریم.
اهمیت مهندسی ویژگی
مهندسی ویژگی گام بسیار مهمی در یادگیری ماشین است. مهندسی ویژگی به فرایند طراحی ویژگی های مصنوعی در یک الگوریتم اشاره دارد. این ویژگی های مصنوعی سپس توسط آن الگوریتم به منظور بهبود عملکرد آن استفاده می شود ، یا به عبارت دیگر نتایج بهتری را به دست می آورد. دانشمندان داده بیشتر وقت خود را با داده ها می گذرانند و دقیق ساختن مدل ها مهم می شود.
هنگامی که فعالیت های مهندسی ویژگی به درستی انجام می شود ، مجموعه داده های حاصل بهینه است و شامل تمام عوامل مهمی است که بر مشکل تجارت تأثیر می گذارد. در نتیجه این مجموعه داده ها ، دقیق ترین مدل های پیش بینی کننده و مفیدترین بینش تولید می شود.
تکنیک های مهندسی ویژگی برای یادگیری ماشین
بیایید چند تکنیک مهندسی ویژگی را مشاهده کنید که می توانید از آنها استفاده کنید. برخی از تکنیک های ذکر شده ممکن است با الگوریتم ها یا مجموعه داده های خاصی بهتر کار کنند ، در حالی که برخی دیگر ممکن است در همه شرایط مفید باشند.
1. پس از
وقتی صحبت از تهیه داده های شما برای یادگیری ماشین می شود ، مقادیر از دست رفته یکی از معمولی ترین موضوعات است. خطاهای انسانی ، وقفه در جریان داده ها ، نگرانی های مربوط به حریم خصوصی و سایر عوامل می توانند در مقادیر گمشده نقش داشته باشند. مقادیر از دست رفته تأثیر بر عملکرد مدل های یادگیری ماشین به هر دلیل دارد. هدف اصلی عدم تحمل ، رسیدگی به این مقادیر گمشده است. دو نوع ضربه وجود دارد:
- ناهماهنگی عددی: برای فهمیدن چه تعداد باید به افرادی که در حال حاضر در جمعیت هستند اختصاص یابد ، ما معمولاً از داده های نظرسنجی یا سرشماری تکمیل شده استفاده می کنیم. این مجموعه داده ها می تواند شامل اطلاعاتی در مورد اینکه تعداد زیادی از مردم انواع مختلفی از مواد غذایی را می خورند ، خواه در یک شهر یا کشور با آب و هوای سرد زندگی کنند و هر سال چقدر درآمد کسب می کنند. به همین دلیل است که در صورت از دست رفتن برخی از اطلاعات ، از ضایعات عددی برای پر کردن شکاف در نظرسنجی یا سرشماری استفاده می شود.
#پر کردن تمام مقادیر گمشده با 0
data = data. fillna (0)
- Imputation طبقه بندی: هنگام برخورد با ستون های طبقه بندی ، جایگزین کردن مقادیر گمشده با بالاترین مقدار در ستون یک راه حل هوشمند است. با این حال ، اگر معتقدید که مقادیر موجود در ستون به طور مساوی توزیع شده و هیچ ارزش غالب وجود ندارد ، ایجاد مقوله ای مانند "دیگری" می تواند انتخاب بهتری باشد ، زیرا احتمال شما بیشتر در این سناریو به یک انتخاب تصادفی همگرا می شود.
#تابع پر کردن max برای ستون های طبقه بندی
داده ها [‘column_name ']. fillna (data [‘ column_name']. value_counts (). idxmax () ، inplace = true)
2. دست زدن به دور
Handling Outlier تکنیکی برای از بین بردن فضای دور از یک مجموعه داده است. این روش می تواند در مقیاس های مختلفی برای تولید یک نمایش دقیق تر داده ها استفاده شود. این تأثیر در عملکرد مدل دارد. بسته به مدل ، اثر می تواند بزرگ یا حداقل باشد. به عنوان مثال ، رگرسیون خطی به ویژه مستعد ابتلا به خارج از کشور است. این روش باید قبل از آموزش مدل تکمیل شود. روشهای مختلف رسیدگی به خارج از کشور عبارتند از:
- حذف: ورودی های حاوی دورتر از توزیع حذف می شوند. با این حال ، اگر در بین متغیرهای بیشماری وجود داشته باشد ، این استراتژی ممکن است منجر به از دست رفتن تعداد زیادی از برگه داده شود.
- جایگزینی مقادیر: از طرف دیگر ، می توان از مسافت های خارج به عنوان مقادیر گمشده برخوردار شد و با ضایعات مناسب جایگزین شد.
- درپوش: استفاده از یک مقدار دلخواه یا یک مقدار از توزیع متغیر برای جایگزینی حداکثر و حداقل مقادیر.
- گسسته سازی: گسسته سازی فرایند تبدیل متغیرها ، مدل ها و توابع مداوم به مدل های گسسته است. این کار با ساخت یک سری از فواصل مداوم (یا سطل) که دامنه متغیر/مدل/عملکرد مورد نظر ما است ، انجام می شود.
3. تغییر شکل
تبدیل Log بیشترین تکنیک در بین دانشمندان داده است. بیشتر از این برای تبدیل یک توزیع چاشنی به یک توزیع عادی یا کمتری استفاده می شود. ما مقادیر را در یک ستون می گیریم و از آن مقادیر به عنوان ستون در این تبدیل استفاده می کنیم. از آن برای رسیدگی به داده های گیج کننده استفاده می شود و داده ها نسبت به برنامه های عادی تقریبی می شوند.
4- رمزگذاری یکی از آنها
رمزگذاری یک داغ نوعی رمزگذاری است که در آن یک عنصر یک مجموعه محدود توسط شاخص در آن مجموعه نشان داده می شود ، جایی که فقط یک عنصر دارای شاخص خود در "1" است و تمام عناصر دیگر در محدوده قرار دارند [[)0 ، n-1]. برخلاف طرح های رمزگذاری باینری ، که در آن هر بیت می تواند 2 مقادیر را نشان دهد (یعنی 0 و 1) ، این طرح یک مقدار منحصر به فرد را برای هر مورد ممکن اختصاص می دهد.
5- نماد
مقیاس بندی ویژگی یکی از مهمترین و دشوار ترین مشکلات در یادگیری ماشین است ، اما این یکی از مهمترین موارد برای درست شدن است. به منظور آموزش یک مدل پیش بینی ، ما به داده هایی با مجموعه ای از ویژگی های شناخته شده نیاز داریم که باید در صورت لزوم به بالا یا پایین برسند. این پست وبلاگ توضیح می دهد که چگونه مقیاس بندی ویژگی کار می کند و چرا مهم است و همچنین برخی از نکات برای شروع کار با مقیاس بندی ویژگی.
پس از یک عمل مقیاس پذیری ، ویژگی های مداوم از نظر دامنه مشابه می شوند. اگرچه این مرحله برای بسیاری از الگوریتم ها لازم نیست ، اما هنوز ایده خوبی برای انجام این کار است. از طرف دیگر ، الگوریتم های مبتنی بر راه دور مانند K-NN و K-Mean به ویژگی های مداوم مقیاس بندی شده به عنوان ورودی مدل نیاز دارند. دو روش مشترک برای مقیاس گذاری وجود دارد:
عادی سازی: تمام مقادیر در یک محدوده مشخص بین 0 تا 1 از طریق عادی سازی (یا عادی سازی حداقل حداکثر) مقیاس می شوند. این اصلاح هیچ تاثیری در توزیع ویژگی ندارد ، اما اثرات Outriers را به دلیل انحراف استاندارد پایین تر می کند. در نتیجه ، توصیه می شود که قبل از عادی سازی با Outries برخورد شود.
استاندارد سازی: استاندارد سازی (همچنین به عنوان عادی سازی نمره Z نیز شناخته می شود) فرایند مقیاس بندی مقادیر در حالی که برای انحراف استاندارد حساب می شود. اگر انحراف استاندارد از ویژگی ها متفاوت باشد ، دامنه این ویژگی ها نیز به همین ترتیب متفاوت خواهد بود. در نتیجه تأثیر Outliers در ویژگی ها کاهش می یابد. برای رسیدن به توزیع با میانگین 0 و 1 واریانس ، تمام نقاط داده با میانگین آنها و نتیجه تقسیم بر واریانس توزیع تقسیم می شوند.
چند ابزار مهندسی بهترین ویژگی
ابزارهای زیادی وجود دارد که به شما در اتوماسیون کل فرایند مهندسی ویژگی و تولید استخر بزرگی از ویژگی ها در یک دوره زمانی کوتاه برای هر دو طبقه بندی و رگرسیون کمک می کند. بنابراین بیایید نگاهی به برخی از ابزارهای مهندسی ویژگی ها بیندازیم.
ویژگی های
FeatureTools چارچوبی برای انجام مهندسی ویژگی های خودکار است. این امر در تبدیل مجموعه داده های زمانی و رابطه ای به ماتریس های ویژگی برای یادگیری ماشین برتری دارد. FeatureTools با ابزارهای ایجاد خط لوله یادگیری ماشین که قبلاً دارید ادغام می شود. در کسری از زمان لازم برای انجام آن به صورت دستی ، می توانید در Pandas DataFrames بارگیری کنید و به طور خودکار ویژگی های قابل توجهی را بسازید.
خلاصه FeatureTools
- شروع آسان ، مستندات خوب و پشتیبانی جامعه
- این به شما کمک می کند تا با ترکیب داده های خام خود با آنچه در مورد داده های خود می دانید ، ویژگی های معنی داری را برای یادگیری ماشین و مدل سازی پیش بینی ایجاد کنید.
- این برنامه API را برای تأیید اینکه فقط از داده های قانونی برای محاسبات استفاده می شود ، جلوگیری می کند و از نشت برچسب در بردارهای ویژگی شما استفاده می شود.
- FeatureTools شامل یک کتابخانه عملکرد سطح پایین است که ممکن است برای تولید ویژگی ها لایه بندی شود.
- کتابخانه Automl آن (EVALML) به شما در ساخت ، بهینه سازی و ارزیابی خطوط لوله یادگیری ماشین کمک می کند.
- در کار با پایگاه داده های رابطه ای خوب است.
درباره FeatureTools بیشتر بدانید.
مغازه
Autofeat به انجام مدلهای پیش بینی خطی با مهندسی و انتخاب ویژگی خودکار کمک می کند. Autofeat به شما امکان می دهد واحدهای متغیرهای ورودی را انتخاب کنید تا از ساخت ویژگی های فیزیکی مزخرف جلوگیری کنید.
خلاصه خودکار
- Autofeat به راحتی می تواند ویژگی های طبقه بندی را با یک رمزگذاری داغ کنترل کند.
- مدل های Autofeatregressor و AutofeatClassifer در این بسته دارای یک رابط مشابه با مدل های Scikit-Lea هستند
- مهندسی ویژگی خودکار هدف عمومی که در دستیابی به داده های رابطه ای مناسب نیست.
- در داده های لجستیکی مفید است
در مورد Autofeat بیشتر بدانید.
تسکین
Tsfresh یک بسته پایتون است. این تعداد زیادی از ویژگی های سری زمانی یا ویژگی ها را به صورت خودکار محاسبه می کند. علاوه بر این ، بسته شامل روش هایی برای ارزیابی قدرت توضیحی و اهمیت چنین صفاتی در کارهای رگرسیون و طبقه بندی است.
خلاصه tsfresh
- این بهترین ابزار منبع باز Python برای طبقه بندی سری زمانی و رگرسیون است.
- این کمک می کند تا مواردی مانند تعداد قله ها ، مقدار متوسط ، حداکثر مقدار ، آمار تقارن معکوس زمان و غیره را استخراج کنید.
- این می تواند با FeatureTools یکپارچه شود.
درباره TSfresh بیشتر بدانید.
یک بوم
OneBM مستقیماً با جداول خام پایگاه داده تعامل دارد. به آرامی به میزها می پیوندد و مسیرهای مختلفی را روی درخت رابطه ای طی می کند. این انواع داده های ساده (عددی یا طبقه بندی) و انواع داده های پیچیده (مجموعه اعداد ، مجموعه ای از دسته ها ، توالی ها ، سری های زمانی و متون) را در نتایج مشترک تشخیص می دهد و رویکردهای مهندسی ویژگی از پیش تعریف شده را به انواع ارائه شده اعمال می کند.
- هر دو داده رابطه ای و غیر مرتبط پشتیبانی می شوند.
- در مقایسه با FeatureTools ، هر دو ویژگی ساده و پیچیده را ایجاد می کند.
- این در مسابقات Kaggle مورد آزمایش قرار گرفت و از مدل های پیشرفته برتر استفاده کرد.
درباره OneBM بیشتر بدانید
کاوش
با توجه به این ایده که ویژگی های بسیار آموزنده به طور معمول نتیجه دستکاری موارد اساسی است ، کاوش اپراتورهای مشترک را برای تغییر هر ویژگی به طور مستقل یا ترکیب چندین مورد از آنها مشخص می کند. به جای اجرای انتخاب ویژگی در تمام ویژگی های توسعه یافته ، که می تواند بسیار عظیم باشد ، از یادگیری متا برای رتبه بندی ویژگی های نامزد استفاده می شود.
مقایسه
نتیجه
مهندسی ویژگی توسعه ویژگی های جدید از داده های خام است. با استفاده از این تکنیک ، مهندسان داده های خام و اطلاعات بالقوه را به منظور استخراج مجموعه جدید یا با ارزش تر از ویژگی ها تجزیه و تحلیل می کنند. مهندسی ویژگی ها را می توان به عنوان کلی سازی بهینه سازی ریاضی دانست که امکان تجزیه و تحلیل بهتر را فراهم می کند. امیدوارم که در مورد مهندسی ویژگی ، تکنیک ها و ابزارهای استفاده شده توسط مهندسان آموخته باشید. اگر در مورد مقاله شک دارید می توانید نظر خود را کنار بگذارید.
آموزش تحلیل گری...
ما را در سایت آموزش تحلیل گری دنبال می کنید
برچسب :
نویسنده : ملیکا زارعی
بازدید : 36
تاريخ : پنجشنبه
14 ارديبهشت
1402 ساعت: 19:04