آنچه در این صفحه می خوانید:
معرفی Scikit-Learn
Scikit-learn (قبلا با نام scikits.learn و همچنین به عنوان sklearn نیز شناخته می شود) یک کتابخانه یادگیری ماشین و نرم افزار رایگان برای زبان برنامه نویسی پایتون است. این کتابخانه شامل الگوریتم های مختلف طبقه بندی، رگرسیون و خوشه بندی از جمله ماشین های بردار پشتیبانی، جنگل های تصادفی، افزایش شیب، k-means و DBSCAN است و برای همکاری با کتابخانه های عددی و علمی پایتون، NumPy و SciPy طراحی شده است.
پروژه یادگیری scikit به عنوان scikits.learn توسط دیوید کورناپو در یک پروژه Google Summer of Code آغاز شد. نام آن از این مفهوم نشأت می گیرد که یک "SciKit" (جعبه ابزار SciPy)، یک پسوند شخص ثالث جداگانه توسعه یافته و توزیع شده به SciPy است. Scikit-learn یکی از مشهورترین کتابخانه های یادگیری ماشینی در گیت هاب (GitHub) است.
Scikit-learn به طور عمده در پایتون نوشته شده و از NumPy به طور گسترده برای عملیات جبر خطی و آرایه با عملکرد بالا استفاده می کند. علاوه بر این، برخی الگوریتم های اصلی در سایتون (Cython) برای بهبود عملکرد نوشته شده اند. ماشین های بردار پشتیبانی توسط یک بسته بندی سایتون در اطراف LIBSVM پیاده سازی می شوند. رگرسیون لجستیک و ماشین های بردار پشتیبانی خطی توسط یک بسته بندی مشابه در اطراف LIBLINEAR. در چنین مواردی، گسترش این روش ها با پایتون ممکن نیست.
Scikit-learn به خوبی با بسیاری از کتابخانه های پایتون دیگر مانند matplotlib و Plotly برای رسم نمودار، NumPy برای برداری آرایه، قاب داده های پانداس (Pandas)، scipy و بسیاری دیگر ادغام می شود.
ویژگی های Scikit-Learn
Scikit-learn با ویژگی های زیادی همراه است. در اینجا چند مورد از آنها آورده شده است:
- الگوریتم های یادگیری تحت نظارت: به هر الگوریتم یادگیری ماشین نظارت شده ای که ممکن است در مورد آن شنیده باشید، احتمال بسیار زیادی وجود دارد که بخشی از یادگیری scikit باشد. شروع از مدل های خطی تعمیم یافته (به عنوان مثال رگرسیون خطی)، ماشین های بردار پشتیبان (SVM)، درخت های تصمیم گیری به روش های Bayesian - همه آنها بخشی از جعبه ابزار scikit-learn هستند. گسترش الگوریتم های یادگیری ماشین یکی از دلایل مهم استفاده زیاد از یادگیری scikit است.
- الگوریتم های یادگیری بدون نظارت: باز هم الگوریتم های یادگیری ماشینی از خوشه بندی، تحلیل عاملی، تحلیل کامپوننت های اصلی گرفته تا شبکه های عصبی بدون نظارت گسترش زیادی دارند.
- استخراج ویژگی ها: برای استخراج ویژگی های تصاویر و متن از Scikit استفاده می شود.
- خوشه بندی: برای گروه بندی داده های بدون برچسب مانند KMeans.
- اعتبار سنجی متقابل: برای تخمین عملکرد مدل های تحت نظارت بر داده های دیده نشده.
- دیتاست ها: برای دیتاست های آزمایشی و برای تولید دیتاست هایی با ویژگی های خاص برای بررسی رفتار مدل.
- کاهش ابعاد: برای کاهش تعداد ویژگی های داده ها برای جمع بندی ، ویژوال سازی و انتخاب ویژگی مانند تجزیه و تحلیل کاموپوننت اصلی.
- روش های گروه: برای ترکیب پیش بینی چندین مدل نظارت شده.
- استخراج ویژگی: برای تعریف ویژگی ها در داده های تصویر و متن.
- انتخاب ویژگی: برای شناسایی ویژگی های معنی دار که از آنها می توان مدل های تحت نظارت ایجاد کرد.
- تنظیم پارامتر: برای استفاده بیشتر از مدل های تحت نظارت.
- منیفولد یادگیری: برای جمع بندی و به تصویر کشیدن داده های پیچیده چند بعدی.