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

به طور نمونه می خواهیم ماشین یا نرم افزاری (برنامه کاربردی – Application) داشته باشیم که وضعیت آب و هوا را پیش بینی کند، آنچه که لازم است، ابتدا جمع آوری یا داشتن داده هایی است که به صورت مناسب وضعیت آب و هوا را بیان کنند. به طور مثال این مجموعه داده در غالب یک فایل CSV خواهد بود. مطابق شکل زیر (منبع) می بینید که یادگیری (Training یا Learning) از طریق این مجموعه داده ها انجام می شود. داده های یادگیری به یک الگوریتم مناسب دامنه مورد نظر فرستاده می شوند که حاصل آن یک مدل یادگیری (Learning Model) است.

گونه های متفاوت داده ها در یادگیری ماشین

در مطلب های پیش رو هنگامی که روش های یادگیری ماشین را آموزش داده ایم، گفته ایم که دو گونه داده های برچسب دار (Labeled Data) و داده های بی برچسب (Unlabeled Data) وجود دارند. در مجموعه داده های یادگیری برچسب دار، ویژگی ها (متغیرهای مستقل یا همان ورودی ها) به همراه برخی از پاسخ ها (Response) یا همان هدف ها (Target) ها یا به عبارت دیگر، برچسب ها وجود دارند.

در واقع مجموعه داده های یادگیری برچسب دار، به صورت زوج (Ⅹ?, y?) است که در آن Ⅹ? یک متغیر مستقل (ویژگی) و y? یک متغیر وابسته (برچسب – پاسخ – Target) است. توجه کنید گام یادگیری با مجموعه داده یادگیری (Training یا Learning) برچسب دار انجام می شود، زیرا هم ورودی ها و هم خروجی های مناسب وجود دارند، اما گام آزمایش (Test) با داده هایی انجام می شود که دیگر دارای پاسخ ها نسیتند، زیر هدف آزمایش، کردن مدل ایجاد شده است.

در ادامه مطلب هایی در مورد روش های یادگیری نظارت شده (Supervised Learning) و یادگیری نظارت نشده (Unsupervised Learning) نوشته ایم و در آن مطلب های گفته ایم که در روش یادگیری نظارت شده، الگوریتم ها داده های یادگیری برچسب دار و در روش یادگیری نظارت نشده داده های یادگیری بی برچسب را به کار می برند. چیزی که اهمیت دارد به یاد داشته باشید و آنرا از نوشته مفاهیم و واژگان در یادگیری ماشین مجدد بیان می کنیم، این است که منظور از ویژگی ها، همان داده های مستقل یا ورودی ها هستند و منظور از برچسب ها همان پاسخ ها یا Target ها هستند.

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

به طور نمونه فرض کنید می خواهیم وضعیت آب و هوا را پیش بینی کنیم، بنابراین در داده های یادگیری برچسب دار، یک سری از ویژگی ها (ورودی ها – متغیرهای مستقل) به همراه برچسب ها (خروجی ها – پاسخ ها – متغیرهای وابسته – Target) وجود دارند. الگوریتم یادگیری سعی می کنید رابطه میان این ورودی ها و خروجی ها را مدل کند و سپس این مدل را برای پیش بینی وضعیت آب و هوا به کار می بریم، به طوری که دیگر تنها و تنها داده های ورودی (همان ویژگی ها) وجود دارند و پاسخی از پیش وجود ندارد.

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

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

در مطلب بارگذاری داده ها در کتابخانه Scikit-Learn در مورد بارگذاری مجموعه داده های آماده در کتابخانه Scikit-Learn و مرور سه مفهوم نمونه، ویژگی و برچسب صحبت شده است.

داده های با ساختار، نیمه ساخت یافته و بی ساختار

در پیوندهای زیر نوشته هایی را فهرست کرده ایم که روش های متفاوتی برای بارگذاری کردن (Load) منابع داده (Data Source) متفاوت را آموزش می دهند. بدون توجه به منبع ، داده ها در یادگیری ماشین می توانند در گونه های متفاوت مانند مقدارهای عددی، رشته، متن، دودویی مانند تصویر و ویدیوها باشند.

بارگذاری داده های درون کتابخانه Scikit-Learn

بارگذاری فایل های CSV بوسیله ماژول Pandas

بارگذاری فایل های اکسل بوسیله ماژول Pandas

بارگذاری فایل های JSON بوسیله ماژول Pandas

بارگذاری جدول های پایگاه داده بوسیله ماژول Pandas

داده های رسته ای و مفهوم (Categorical Data)

کلاس های LabelEncoder و OneHotEncoder در ماژول Scikit-Learn

به طور کلی داده ها به سه دسته داده های با ساختار (ساخت یافته Structure Data)، داده های نیمه ساخت یافته (Semi-Stucture Data) و داده های غیر ساخت یافته (Unstructure Data) دسته بندی می شوند. از جمله داده های با ساختار می توان به پایگاه داده های رابطه ای و از فایل های نیمه ساخت یافته می توان به فایل های CSV، XML و JSON اشاره کرد. قاعدتا فایل های بی ساختار، فایل هایی هستند که ساختار مشخصی ندارند و معمولا به صورت فایل های دودویی مانند تصویرها و ویدیوها هستند.

تصاویر و ویدیوها در رایانه ها به صورت آریه های دو بعدی یا ماتریس ها ذخیره می شوند که تعداد درایه های سطر برابر با طول تصویر و تعداد درایه های ستون برابر با پهنای تصویر است. در پایتون کتابخانه های متفاوتی برای پردازش و تغییر روی تصویر و ویدیوها وجود دارد که مهمترین آنها کتابخانه های Pillow، OpenCV و کار بر روی تصویرهای پزشکی توسط کتابخانه PyDicom هستند.

آشنایی با مفاهیم ابتدایی در OpenCV – ساختار Mat

تصویر و ماتریس در OpenCV – ایجاد ماتریس ها

البته منبع داده های دیگری مانند فایل های آفیس ورد (پسوند docx)، فایل های پی دی اف (PDF) وجود دارند که حاوی متن ها و تصویرها هستند. گونه دیگر منبع داده ها، وب سایت هایی هستند که بوسیله تگ های اچ تی ام ال (HTML) ساخته می شوند. شبکه های اجتماعی نیز منبع عظیمی هستند که می توان از آنها به منظور کاوش و تحلیل احساس (Sentiment Analysis) بهره برد.

دوره وب اسکرپینگ و استخراج داده های وب با پایتون

نوع دیگری از منبع داده ها که به کارگیری از آن در حال رشد است، چارچوب توصیف منبع (Resource Description Framework) یا RDF نام دارد. RDF داده ها را با استفاده از فرمت XML و به صورت یک سه تایی (Tripple) توصیف می کند و این منبع بوسیله وب و اینترنت قابل دسترسی و اشتراک گذاری است.

چارچوب توصیف منبع چیست

دوره داده های پیوندی