مجموعه داده یا دیتاست در یادگیری ماشین چیست؟

 

یکی از مهمترین پارمترهای کلیدی برای تبدیل شدن به یک دانشمند بزرگ داده | data scientist ، تمرین با انواع مختلف مجموعه داده | دیتاست می باشد. اما به راحتی نمی توان یک مجموعه داده مناسب برای یک پروژه و نوع الگوریتم انتخابی یادگیری ماشین | ML انتخاب کرد، بنابراین در ادامه این مبحث، به شما آموزش خواهیم داد که از طریق چه منابعی می توانید به راحتی مجموعه داده هایی را مطابق با پروژه خود تهیه کنید.

درآموزش دیتابیس و دوره آموزشی جامع علم داده (یادگیری ماشین، داده کاوی) را به شکل کاملاً عملی و با زبانی ساده به شما آموزش می دهد .قبل از ذکر منابع مجموعه داده‌های یادگیری ماشین، ابتدا مفهموم مجموعه‌ داده را مورد بحث قرار می دهیم.

مجموعه داده | Dataset چیست؟

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

کشورسنحقوقخرید کرده است ؟
هند2512000بله
چین2710000بله
ایران28500خیر
آمریکا2425000بله
آلمان2618000خیر

یک مجموعه داده را می توان به عنوان یک جدول یا ماتریس پایگاه داده درک کرد که در آن هر ستون در واقع یک متغیر یا ویژگی نامید. بیشترین نوع فایل پشتیبانی شده برای مجموعه داده های جدولی "فایل جدا شده با کاما" یا CSV است.

انواع داده ها در مجموعه داده

  • داده های عددی: مانند قیمت خانه، دما و غیره.
  • داده های طبقه بندی شده: مانند بله/خیر، درست/نادرست، آبی/سبز و غیره.
  • داده‌های ترتیبی: این داده‌ها شبیه به داده‌های طبقه‌بندی هستند، اما می‌توانند بر اساس مقایسه اندازه‌گیری شوند. مانند مقطع تحصیلی که شامل مقادیر وزنی (دیپلم، کاردانی، کارشناسی، کارشناسی ارشد و دکترا می باشد)

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

نیاز به مجموعه داده

برای کار با پروژه های یادگیری ماشین | machine learning، به حجم عظیمی از داده نیاز داریم، زیرا بدون داده، نمی توان مدل های ML/AI را آموزش داد. جمع آوری و آماده سازی مجموعه داده | دیتاست یکی از مهم ترین بخش ها در هنگام ایجاد یک پروژه ML/AI است. اگر مجموعه داده به خوبی آماده و از قبل پردازش نشده باشد، فناوری به کار رفته در پشت هر پروژه ML نمی تواند به درستی کار کند و دقت خروجی کمتری خواهد داشت. در طول توسعه پروژه ML، توسعه دهندگان کاملاً به مجموعه داده ها متکی هستند. در ساخت برنامه های ML، مجموعه داده ها به دو بخش تقسیم می شوند:

  • مجموعه داده های آموزشی : با استفاده از این مجموعه داده مدل یادگیری ماشین | machine learning مورد نظر را آموزش می دهیم.
  • مجموعه داده تست : با استفاده از این مجموعه داده مدل یادگیری ماشین | ML آموزش دیده را مورد ارزیابی قرار می دهیم.

 

توجه: مجموعه داده ها حجم بالایی دارند، بنابراین برای دانلود این مجموعه داده ها باید اینترنت پرسرعتی در رایانه خود داشته باشید.

بهترین منابع برای دانلود مجموعه داده

در ادامه منابعی معرفی می شود که مجموعه داده های آن به صورت رایگان برای عموم در دسترس می باشد.

Kaggle Datasets

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

 

مخزن یادگیری ماشین UCI

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

 

مجموعه داده AWS

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

 

موتور جستجوی مجموعه داده های گوگل

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


Scikit-learn یک کتابخانه یادگیری ماشین برای زبان برنامه نویسی پایتون می باشد که علاوه بر ارائه الگوریتم های مختلف یادگیر ماشین و پردازش امکان دسترسی به یکسری مجموعه داده را برای دانشمندان داده ممکن می سازد.

 

یادگیری ماشین بدون نظارت | Unsupervised Machine Learning چیست ؟

 

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

یادگیری ماشین بدون نظارت (Unsupervised Learning) روشی در هوش مصنوعی است که در آن مدل بدون داشتن برچسب‌های مشخص روی داده‌ها، به الگوها و ساختارهای پنهان در داده‌ها پی می‌برد. از مهم‌ترین الگوریتم‌های این روش می‌توان به خوشه‌بندی (Clustering) مانند K-Means و تحلیل مؤلفه‌های اصلی (PCA) برای کاهش ابعاد داده اشاره کرد. در آموزش دیتابیس، این روش برای تحلیل داده‌های بزرگ، کشف الگوهای پنهان در پایگاه‌های داده و دسته‌بندی اطلاعات کاربرد دارد. یادگیری ماشین بدون نظارت در زمینه‌هایی مانند سیستم‌های پیشنهاددهنده، شناسایی ناهنجاری‌ها و تحلیل داده‌های مشتریان استفاده می‌شود. این مدل‌ها به شرکت‌ها کمک می‌کنند تا بدون نیاز به داده‌های برچسب‌گذاری‌شده، از اطلاعات خام بینش ارزشمندی استخراج کنند.

یادگیری ماشین بدون نظارت چیست؟

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

می توان یادگیری بدون نظارت را اینگونه نیز تعریف کرد:

یادگیری بدون نظارت نوعی از یادگیری ماشینی است که در آن مدل‌ها با استفاده از مجموعه داده‌های بدون برچسب آموزش داده می‌شوند و اجازه دارند بدون هیچ نظارتی بر روی آن داده‌ها عمل کنند.

در دوره آموزشی جامع علم داده تمام A-Z علم داده (یادگیری ماشین، داده کاوی) را به شکل کاملاً عملی و با زبانی ساده به شما آموزش می دهد

یادگیری بدون نظارت | Unsupervised Machine Learning را نمی توان مستقیماً برای حل یک مسئله رگرسیون یا دسته بندی نیز استفاده کرد زیرا برای حل این نوع مسائل ما نیاز به مجموعه داده ای داریم که دارای ویژگی برچسب باشد، لذا برای حل این نوع مسائل باید از الگوریتم های یادگیری بانظارت استفاده کرد. هدف از یادگیری بدون نظارت، یافتن ساختار زیربنایی مجموعه داده، گروه بندی آن داده ها بر اساس شباهت ها و نمایش آن مجموعه داده در یک قالب فشرده است .

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

چرا باید از یادگیری بدون نظارت استفاده کنیم؟

مهمترین عواملی که استفاده از الگوریتم یادگیری بدون نظارت را در صنایع مهم دانسته است عبارتند از:

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

نحوه کار الگوریتم های یادگیری بدون نظارت :

نحوه کار الگوریتم های یادگیری بدون نظارت را می توان با تصویر زیر درک کرد:

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

انواع الگوریتم یادگیری بدون نظارت:

الگوریتم های یادگیری بدون نظارت | Unsupervised Machine Learning را می توان به دو دسته تقسیم کرد:

  • الگوریتم های خوشه‌بندی | Clustering : خوشه‌بندی روشی است برای قراردادن اشیاء در یکسری خوشه‌ها، به‌گونه‌ای که اشیای (داده های) داخل یک خوشه بیشترین شباهت را با یکدیگر و کمترین شباهت را با اشیای سایر خوشه ها دارند.
  • الگوریتم های قواعد انجمنی | Association rule : از این نوع الگوریتم ها برای تحلیل سبد خرید یک فروشگاه استفاده می شود به عنوان مثال با استفاده از این نوع الگوریتم ها می توانیم رابطه خرید بین محصولات یک فروشگاه را درک کنیم، یکی از این نوع قواعد می تواند به این شکل تفسیر شود. آقای رضاییان با ضریب اطمینان 90 درصد موقع خرید پنیر، محصول دیگری با نام نان نیز خریده است.

الگوریتم های یادگیری بدون نظارت:

برخی از الگوریتم های یادگیری بدون نظارت | Unsupervised Machine Learning نیز در زیر لیست شده است:

  • خوشه بندی سلسله مراتبی
  • خوشه بندی K-means
  • خوشه بندی مبتنی بر چگالی
  • K نزدیکترین همسایه
  • تشخیص ناهنجاری
  • شبکه های عصبی
  • الگوریتم Apriori

مزایای یادگیری بدون نظارت

  • یادگیری بدون نظارت | Unsupervised Machine Learning در مقایسه با یادگیری نظارت شده برای کارهای پیچیده‌تر استفاده می‌شود، زیرا در یادگیری بدون نظارت، داده‌های ورودی برچسب‌دار نداریم.

معایب یادگیری بدون نظارت

  • یادگیری بدون نظارت ذاتاً دشوارتر از یادگیری تحت نظارت است زیرا داده های ورودی دارای هیچ گونه برچسبی نیز نمی باشد.
  • نتیجه عملکردی الگوریتم های یادگیری بدون نظارت ممکن است دقت کمتری داشته باشد زیرا داده‌های ورودی برچسب‌گذاری نمی‌شوند و الگوریتم‌ها خروجی دقیق را از قبل نمی‌دانند و آموزش داده نشده اند.

SQL چیست؟ معرفی کامل اس کیو ال و آشنایی با کاربردهای آن


SQL چیست؟ اس کیو ال چه کاربردهایی دارد و  واژه SQL مخفف چه کلماتی است؟ پرسشی که در ذهن خیلی از علاقه مندان به بانک های اطلاعاتی شکل می گیرد و ما در این مقاله قصد داریم به تمامی سوالات شما در این باره پاسخ دهیم و با زبان SQL آشنا شویم.اس کیول (SQL) یا Structured Query Language یک زبان Domain-Specific است که برای برنامه نویسی و طراحی بانک های اطلاعاتی در بانک های رابطه ای یا RDBMS ها استفاده می شود.

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

تاریخچه زبان SQL چیست؟

قبل از اینکه به سراغ پاسخ به سوال SQL  چیست برویم بهتر است که کمی با تاریخچه آن آشنا می شویم. زبان SQL اولین بار در شرکت IBM توسط دوناد چمبرلین و ریموند بویس در اواسط سال 1970 معرفی شد. نام اولین نسخه SEQUEL بود و به همین دلیل امروزه نیز واژه SQL به صورت سیکوئل نیز تلفظ می شود. واژه SEQUEL مخفف Structured English Query Language بود که برای تغییر و کوئری گرفتن از داده های بانک مخصوص IBM طراحی شده بود. بعد ها زبان SEQUEL به SQL تغییر نام داده شد و تبدیل به یک استاندارد برای پیاده سازی زبان بانک های اطلاعاتی رابطه ای شد.

بانک اطلاعاتی SQL چیست؟

پاسخ به پرسش SQL چیست نیازمند آشنایی با یکسری مفاهیم است! همانطور که قبلاً گفتیم کاربرد زبان SQL در بانک های رابطه ای است و ما بوسیله زبان SQL می توانیم اقدام به طراحی، تغییر و کوئری گرفتن از بانک های اطلاعاتی کنیم. اما قبل از اینکه به بررسی کاربردهای زبان SQL بپردازیم توضیح مختصری در مورد بعضی مفاهیم اصلی یک سیستم بانک اطلاعاتی رابطه ای یا RDBMS بدهیم. این مفاهیم در کنار هم تشکیل یک سیستم واحد را می دهند که می توان از آن برای نگه داری و آنالیز و استخراج داده استفاده کرد. بخش های اصلی یک RDBMS به شرح زیر است:

  1. بانک اطلاعاتی یا Database: بانک ها مجموعه ای از اجزای مختلف هستند که امکانات لازم برای نگه داری اطلاعات را در اختیار ما قرار می دهند. برای مثال ما برای هر سیستم می توانیم یک بانک داشته باشیم، مثل بانک اطلاعاتی سیستم مالی یا بانک اطلاعاتی سیستم منابع انسانی.

  2. جدول یا Table: جداول در داخل Database قرار دارند و داده های مختلف را تقسیم بندی می کنند. برای مثال در یک دیتابیس مالی ممکن است که ما نیاز به ذخیره کردن اطلاعاتی مانند سرفصل های حسابداری و اسناد حسابداری داشته باشیم که هر کدام از این اطلاعات می توانند داخل یک جدول ذخیره شوند.

  3. رکورد یا Record: رکوردها به اطلاعات ذخیره شده داخل جدول گفته می شود. برای مثال، در سیستم مالی ما نیاز به ذخیره کردن یک سند مالی داشته باشیم، این سند به صورت یک Record در جدول ذخیره می شود. هر جدول می تواند شامل تعداد زیادی رکورد باشد.

  4. ستون یا Column: هر رکورد در دیتابیس شامل یکسری اطلاعات است، باز هم مثال سند مالی را بررسی می کنیم، یک سند مالی می تواند اطلاعاتی مانند تاریخ، شرح و شما سند داشته باشد، هر یک از این اطلاعات در یک رکورد در قالب یک ستون یا Column ذخیره می شوند.

 برای مطالعه بیشتر و آشنایی بیشتر با در مباحث آموزش دیتابیس و مفاهیم آموزش SQL Server به منبع مقاله در این لینک مراجعه کنید.