توسعه و پیاده سازی برنامه های یادگیری ماشین شامل چندین گام است که می خواهیم در مورد آنها صحبت کنیم. شکل زیر این گام ها را به ترتیب نشان می دهد. با توجه به شکل زیر (منبع)، به طور کلی سه گام پیش پردازش داده (Data Preprocessing)، اعمال الگوریتم یادگیری (Learning Algorithm) به داده ها و گزینش مدل (Model Selection) در یادگیری ماشین وجود دارد.

پیش پردازش داده ها

در واقع نخستین گام در یادگیری ماشین و داده کاوی، جمع آوری داده ها (Data Collection) است. منبع داده ها(Data Source) گوناگون و بسیاری وجود دارند که شامل داده هایی هستند که می توانیم آنها را برای ایجاد ماشین های هوشمند با قابلیت خود یادگیری (Self-Learning) به کار بگیریم. پایگاه داده های رابطه ای، پایگاه داده های غیر رابطه ای NoSQL، فایل های CSV و اکسل، داده های روی وب در غالب فایل های XML و JSON و داده های درون شبکه های اجتماعی، گونه های متفاوتی از منبع داده ها هستند.

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

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

به طور مثال برخی از ویژگی ها (Feature) به صورت رسته ای (Categorical) هستند، به عبارت دیگر مقدار این ویژگی ها غیر عددی یا رشته ای است. از آنجایی که الگوریتم های یادگیری نیاز به داده های عددی دارند، پس باید پیش از به کار بردن این ویژگی ها، آنها را از ویژگی رشته ای به ویژگی عددی تبدیل کنیم.

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

اعمال الگوریتم یادگیری به داده ها

پس از اینکه داده ها آماده شدند، نوبت به اجرای الگوریتم بر روی این داده ها است تا یک مدل (Model) ایجاد شود که از آن برای انجام پیش بینی (Predication) استفاده می شود. در مطلب های پیش رو گونه های متفاوت الگوریتم های یادگیری و چگونگی ایجاد مدل ها با استفاده از کلاس های کتابخانه Scikit-Learn را آموزش داده ایم. این مدل ها از طریق یک مجموعه داده به نام مجموعه داده یادگیری (Rraining Data) ایجاد می شوند که به طور مفصل در این موارد صحبت شده است.

پس از اینکه مدل آماده شده، لازم است تا عملکرد و کارایی مدل مورد آزمایش قرار گیرد، برای همین یک مجموعه داده به نام مجموعه داده آزمایش (Test Data) به کار گرفته می شود. به یاد داشته باشید که این دو مجموعه داده، یعنی داده های یادگیری و آزمایش از روی مجموعه داده های (Dataset) ابتدایی ایجاد می شوند به طوری که معمولا ۷۰ در صد یا ۷۵ یا ۸۰ درصد مجموعه داده به عنوان مجموعه داده یادگیری و مابقی به عنوان مجموعه داده آزمایش به کار گرفته می شوند.

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

پس از اینکه پالایش انجام شد و داده های خام به داده های مناسب تبدیل شدند، این داده ها به دو زیر مجموعه یادگیری (Training) و آزمایش (Test) شکسته (Split) می شوند. کتابخانه Scikit-Learn دارای یک متد به نام ()train_test_split است که یک مجموعه داده را به این دو زیر مجموعه یادگیری و آزمایش می شکند که در ادامه در مورد آن صحبت شده است.

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