برآوردگر (Estimator) :
برآوردگر یا به اصطلاح: " Estimator " به عنوان هستهی کل API در نظر گرفته میشود؛ زیرا رابطی است که مسئول تطبیق مدلها با دادههای ورودی است. نحوهی کارکرد برآوردگر بدین صورت است که ابتدا به مدل موردنظر عینیت بخشیده و سپس متد: " ()fit " را به آن اعمال میکند که همین أمر بهنوبهی خود پروسهی یادگیری را کلید میزند تا یک مدل براساس دادهها ساختهشود.
متدِ ()fit ، دادههای موردنیاز برای آموزش را بصورت آرگومانهایی در قالب دو متغیر مجزا دریافت میکند: ماتریس فیچرها و ماتریس هدف که قبلا با عناوین کلی:" X_train " و " Y_train " به آنها اشاره کرده بودیم.(در خصوص مدلهای نظارتنشده، فقط نیازمند ماتریس فیچرها خواهیم بود.)
متد مذکور، یک مدل براساس دادههای ورودی تعلیم میدهد که میتواند بعدا برای پیشبینی مورداستفاده قرارمیگیرد.
برخی از مدلها علاوه بر دادههای آموزشی، آرگومانهای دیگری نیز میگیرند که به آنها: " hyperparameter " گفته میشود. این هایپرپارامترها در ابتدا روی مقادیر پیشفرض خود تنظیم میشوند اما بعداًها نیز میتوانند در راستای بهبود عملکرد مدل تنظیم شوند، که در بخشهای بعدی درباره آنها بیشتر صحبت خواهیم کرد.
در قطعه کد پایین، نمونهای از یک مدل در حال آموزش را مشاهده میکنید:
from sklearn.naive_bayes import GaussianNB
model = GaussianNB()
model.fit(X_train, Y_train)
در ابتدا لازم است که نوع الگوریتم مورد استفاده را از scikit-learn فراخوانی کنید؛ به عنوان مثال، در قطعه کد بالا از الگوریتم Gaussian NaÏve Bayes (این الگوریتم را در فصلهای آتی مورد بررسی قرار خواهیم داد) بمنظور طبقهبندی استفاده شدهاست . توجه به این نکته خالی از لطف نیست که عرف حاکم بر قضیه این است که فقط الگوریتم موردنظر را فراخوانی کنیم و نه کل کتابخانه را، چون همین أمر به نوبهی خود منجر به تسریع اجرای کد میشود.
توجه:
توصیه میشود که بمنظور پیدا کردن سینتکس مورداستفاده در خصوص فراخوانی مدل موردنظرتان، از مستندات scikit-learn استفاده کنید. بدین منظور کافی است که به این لینک رفته و روی الگوریتمی که قصد پیادهسازی آنرا دارید کلیک کرده و دستورالعملهای مربوطه را دنبال کنید.
خط دوم از قطعه کد بالا حاکی از عینیت بخشیدن به مدل و ذخیرهسازی آن در یک متغیر میباشد. در خط بعدی نیز، تطبیق مدل با دادههای ورودی اتفاق میافتد.
برآوردگر علاوه بر این موارد به یکسری امور تکمیلی دیگر نیز رسیدگی میکند که به شرح زیر میباشند:
- استخراج فیچر: این مورد شامل تبدیل دادههای ورودی به فیچرهای عددی میباشد که میتواند در راستای اهداف یادگیری ماشین مورد استفاده قرارگیرد.
- گزینش فیچر: این مورد در خصوص آندسته از خروجیهای مدل که از جنس پیشبینی میباشند، یارای ما خواهد بود.
- کاهش ابعاد: این مورد هم اشاره به مواقعی دارد که با داده هایی با ابعاد بزرگ سروکار داریم و میتوانیم آنها را به ابعاد کوچکتر تبدیل کنیم.