مقدمه
یادگیری ماشین یا Machine Learning بدون شک یکی از کاربردی ترین فناوری های روز دنیاست که رسالت آن، ارائه ی اطلاعات(داده ها) در یک قالب دانش محور بمنظور تصمیم گیری های آگاهانه میباشد. در این فصل با کاربردهای مختلف یادگیری ماشین در دنیای امروز و همچنین نقشی که داده ها ایفا می کنند، آشنا خواهید شد. اجازه دهید که از همین قضیه به عنوان نقطه ی شروعی برای معرفی scikit-learn استفاده کنیم.
کتابخانه ی scikit-learn یک ابزار مستند و با کاربری آسان میباشد که با استفاده از روشهای ساده ای، بکارگیری الگوریتمهای یادگیری ماشین را تسهیل بخشیده است که همین قضیه به نوبه ی خود مبتدیان را قادر ساخته تا بدون نیاز به فهم دانش عمیق ریاضی نهفته در بطن الگوریتم ها، دادهها را مدلسازی کنند. همچنین، سهولت استفاده از این کتابخانه به کاربر اجازه می دهد تا تقریب های مختلفی(مدل های مختلفی) را برای یک مسئله پیاده سازی کند. علاوه بر این، از آنجائیکه نیازی به کدنویسی الگوریتم ها وجود ندارد، scikit-learn به تیم های مرتبط با مسئله ی موردنظر اجازه می دهد تا جای ممکن توجه خود را بر تجزیه و تحلیل خروجی های دریافتی از مدل طراحی شده متمرکز کرده و با شفافیت بیشتری در روند استنتاج قدم بردارند.
به عنوان نمونه، Spotify یک شرکت پیشرو در زمینه اِستریم موسیقی میباشد که از scikit-learn استفاده می کند؛ زیرا به آنها اجازه می دهد تا به هنگام بروز یک مشکلِ داده محور، بتوانند چندین مدل پیاده سازی کرده و آنها را به راحتی با روند توسعه ی خود ادغام کنند. چنین فرآیندی نه تنها در طول زمان امکان رسیدن به یک مدل مفید را بهبود میبخشد، بلکه به شرکت اجازه میدهد تا بتواند با کمترین زحمتی این مدلهای بهبود یافته را به اَپلیکیشن خود متصل کند.
وبسایت booking.com نیز یک نمونه ی دیگر میباشد که از scikit-learn ، به دلیل تنوع گسترده الگوریتمهایی که ارائه میدهد استفاده میکند. این قضیه به توسعه دهندگان این وبسایت اجازه میدهد تا وظایف مختلف و مرتبط با تجزیه و تحلیل دادهها را که شرکت به آنها تکیه دارد را انجام دهند؛ مانند: ساخت موتورهای توصیه گر یا ریکامِندر، شناسایی فعالیتهای متقلبانه و مدیریت تیم خدماتی مشتریان.
با توجه به نکات مطرح شده، این فصل در قدم اول به آشنایی با scikit-learn و کاربردها و مزایای اصلی آن پرداخته و سپس توضیح مختصری درباره ی سینتکس(syntax) و ویژگیهای scikit-learn api ارائه میکند. علاوه بر این، فرآیند بصری سازی و نرمالیزه کردن داده ها نیز در این فصل شرح داده شده که همه ی این موارد در کنار یکریگر به ما کمک می کنند تا مراحل مختلفی را که برای توسعه یک مدل یادگیری ماشین باید طی شوند را درک کنیم.
در فصلهای بعدی این دوره، الگوریتمهای اصلی یادگیری ماشین را که بمنظور حل مشکلاتِ داده محور و واقعی مورد استفاده قرار میگیرند را بررسی خواهیم کرد. همچنین با تکنیکهای مختلفی آشنا میشوید که میتوانید از آنها برای اندازهگیری عملکرد الگوریتمهای خود و نحوه ی بهبود آنها استفاده کنید. نهایتا هم به بررسی نحوه ی استفاده از یک مدلِ آموزشداده شده(trained model) از طریق ذخیره، بارگیری و ایجاد API های مرتبط با آن خواهید پرداخت.