در دنیا امروز ما انسان ها و کامپیوترها هر دو وجود دارند و زندگی روزمره ما انسان ها به استفاده از انواع کامپیوترها گره خورده است. کامپیوترها نسبت به نسل های پیشین خود هوشمندتر، سریعتر و پرکاربردتر شده اند ولی به نظر می آید در زمان ما همچنان انسان ها نسب به کامپیوترها هوشمند تر باشند، زیرا یک تفاوت اصلی و ذاتی میان انسان و کامپیوتر در این است که انسان این قابلیت را دارد که از تجربیات گذشته خود، مطلب جدیدی را بیاموزد. انسان می تواند آن چیزی که در محیط اطراف خود می گذرد را ببینید، بفهمد، به خاطر بسپرد و از همه مهمتر چیز جدیدی را بیاموزد.

در مقابل کامپیوترها این قابلیت را ندارند که بدون یک برنامه نویسی خوب و کارآمد، چیزی را بفهمند و بیاموزند. در واقع انسان مبتنی بر تجربیات خود است ولی کامپیوتر مبتنی بر دستور العمل های است که به آن داده شده و باید طبق آنها یک سری وظایف را انجام دهد.

اما یک سوال پیش می آید و آن این است که آیا می توانیم کامپیوترها را طوری طراحی کنیم که همانند انسان از تجربیات پیشین خود چیز جدیدی را بیاموزند. آیا می توانیم آنها را طوری طراحی کنیم که محیط اطراف خود را بهمند و آنرا یادبگیرند. پاسخ به چنین سوالاتی بله است. به این حوزه از علوم کامپیوتر، یادگیری ماشین (Machine Learning) گفته می شود.

از دید کامپیوتر از داده ها (Data) به عنوان تجربیات اطلاق می شود. کامپیوتر از داده های ورودی اولیه و یا به طور دقیق تر از داده های پیشین برای یادگیری استفاده می کند. یادگیری ماشین واقعا چیز ترسناکی نیست، بلکه یک سری از الگوریتم ها هستند که بر روی داده ها اعمال می شوند تا ماشین به صورت خودکار و مستقل از برنامه نویس، بتواند چیزهای جدیدی را یاد بگیرد.

در این دوره می خواهیم در مورد مفاهیم ابتدایی یادگیری ماشین را توضیح دهیم. همچنین در این دوره کتابخانه Scikit-Learn را برای پیاده سازی مفاهیم یادگیری ماشین به کار می بریم. این کتابخانه که به زبان پایتون است شامل تمامی ابزارها و الگوریتم هایی است که برای ایجاد یک برنامه یادگیری ماشین لازم و ضروری هستند.