چگونه داده کاو شوم(معرفی کتابخانه Scikit Learn)

برنامه نویس ها معمولا به دنبال این هستند که یک کتابخانه یا تکنولوژی جدید را با Hello World آغاز کنند. یعنی با دانستن مقدار کافی مبانی و پایه ها، سریعا به سراغ کد می‌روند و ترجیح می‌دهند در عمل یادگیری آن کتابخانه یا تکنولوژی را انجام دهند.

برای یادگیری داده کاوی نیز اگر بخواهیم از همین روش برنامه نویس‌ها را دنبال کنیم بهتر است مشهورترین کتابخانه ساده این حوزه در پایتون را مورد بررسی قرار دهیم. کتابخانه Scikit Learn! این کتابخانه منبع بسیار غنی از آموزش ها، الگوریتم ها و مثال‌هایی است که برای زبان پایتون تهیه شده. کتابخانه Scikit Learn چند زیر مجموعه دارد که سه زیر مجموعه مهم این کتابخانه را مورد بررسی قرار می‌دهیم:

  1. طبقه بندی(Classification) و رگرسیون(Regression): الگوریتم های مختلف در حوزه یادگیری نظارت شده یا همان طبقه بندی در Scikit Learn به صورت بهینه پیاده سازی شده اند. انواع الگوریتم ها درخت تصمیم، بیزین، SVMها و الگوریتم های طبقه بندی ترکیبی(Ensemble Methods) همراه با آموزش و مثال در وب سایت Scikit Learn دیده می شود
  2. خوشه بندی(Clustering): الگوریتم های حوزه یادگیری غیرنظارت شده یا همان خوشه بندی مانند KMeans، MeanShift، Spectral Clustering و خیلی های دیگر همراه با مثال و آموزش و مقایسه سرعت و خروجی آن ها در وب سایت Scikit Learn موجود است. برای مثال خروجی خوشه بندی های مختلف را بر روی داده‌های مختلف، به صورت زیر نمایش داده شده است:
http://scikit-learn.org/stable/auto_examples/cluster/plot_cluster_comparison.html
http://scikit-learn.org/stable/auto_examples/cluster/plot_cluster_comparison.html

۳. کاهش ابعاد داده(Dimensionality Reduction): کاهش ابعاد که جهت پیش پردازش عملیات داده کاوی و یا به تصویر کشیدن ابعاد در فضای دید ۱ تا ۳بعدی کاربرد دارند، یکی از زیر مجموعه های Scikit Learn می‌باشد. الگوریتم های مختلف مانند PCA و TSVD برای کم کردن تعداد بُعد ها یا همان ویژگی های داده ها مورد استفاده قرار می‌گیرند


البته قسمت های مختلف دیگری مانند انتخاب مدل(Model Selection) و یا Regression هم از زیر مجموعه‌های کتابخانه Scikit Learn هستند که می‌توان از آن‌ها نیز در موارد کاربر استفاده‌های مفیدی کرد. این کتابخانه به دلیل سادگی کاربرد و پیاده سازی الگوریتم های مختلف داده کاوی، جهت انجام آزمایشات و یا حتی کارهای عملی نیز بسیار مفید و کاربردی است.