یکی از مهمترین پارمترهای کلیدی برای تبدیل شدن به یک دانشمند بزرگ داده | data scientist ، تمرین با انواع مختلف مجموعه داده | دیتاست می باشد. اما به راحتی نمی توان یک مجموعه داده مناسب برای یک پروژه و نوع الگوریتم انتخابی یادگیری ماشین | ML انتخاب کرد، بنابراین در ادامه این مبحث، به شما آموزش خواهیم داد که از طریق چه منابعی می توانید به راحتی مجموعه داده هایی را مطابق با پروژه خود تهیه کنید.
درآموزش دیتابیس و دوره آموزشی جامع علم داده (یادگیری ماشین، داده کاوی) را به شکل کاملاً عملی و با زبانی ساده به شما آموزش می دهد .قبل از ذکر منابع مجموعه دادههای یادگیری ماشین، ابتدا مفهموم مجموعه داده را مورد بحث قرار می دهیم.
مجموعه داده | دیتاست، در واقع مجموعه ای از داده ها است که در آن داده ها به ترتیبی مرتب شده اند. یک مجموعه داده می تواند یک آرایه یا یک جدول از پایگاه داده باشد. جدول زیر نمونه ای از یک مجموعه داده را نشان می دهد که شامل 6 سطر و چهار ستون یا ویژگی کشور، سن، حقوق و خرید می باشد.
کشور | سن | حقوق | خرید کرده است ؟ |
هند | 25 | 12000 | بله |
چین | 27 | 10000 | بله |
ایران | 28 | 500 | خیر |
آمریکا | 24 | 25000 | بله |
آلمان | 26 | 18000 | خیر |
یک مجموعه داده را می توان به عنوان یک جدول یا ماتریس پایگاه داده درک کرد که در آن هر ستون در واقع یک متغیر یا ویژگی نامید. بیشترین نوع فایل پشتیبانی شده برای مجموعه داده های جدولی "فایل جدا شده با کاما" یا CSV است.
توجه: یک مجموعه داده دنیای واقعی دارای اندازه بزرگی است که مدیریت و پردازش آن در سطح اولیه دشوار است. بنابراین، برای تمرین الگوریتمهای یادگیری ماشین، میتوانیم از هر مجموعه داده ساختگی استفاده کنیم.
برای کار با پروژه های یادگیری ماشین | machine learning، به حجم عظیمی از داده نیاز داریم، زیرا بدون داده، نمی توان مدل های ML/AI را آموزش داد. جمع آوری و آماده سازی مجموعه داده | دیتاست یکی از مهم ترین بخش ها در هنگام ایجاد یک پروژه ML/AI است. اگر مجموعه داده به خوبی آماده و از قبل پردازش نشده باشد، فناوری به کار رفته در پشت هر پروژه ML نمی تواند به درستی کار کند و دقت خروجی کمتری خواهد داشت. در طول توسعه پروژه ML، توسعه دهندگان کاملاً به مجموعه داده ها متکی هستند. در ساخت برنامه های ML، مجموعه داده ها به دو بخش تقسیم می شوند:
توجه: مجموعه داده ها حجم بالایی دارند، بنابراین برای دانلود این مجموعه داده ها باید اینترنت پرسرعتی در رایانه خود داشته باشید.
در ادامه منابعی معرفی می شود که مجموعه داده های آن به صورت رایگان برای عموم در دسترس می باشد.
Kaggle یکی از بهترین منابع یا مخازن تهیه مجموعه داده برای دانشمندان داده و کاربردهای یادگیری ماشین می باشد. شما در این سایت به آسانی می توانید منابع مورد نظر را جست و جو، دانلود و حتی منتشر کنید. همچنین در این وب سایت شما می توانید با سایر دانشمندان داده در تحلیل و پیش بینی داده ها رقابت کنید.
مخزن یادگیری ماشین UCI یکی از منابع عالی مجموعه داده های یادگیری ماشین برای کاربردهای مختلف ( دسته بندی، رگرسیون، خوشه بندی و ... ) است که از سال 1987، به طور گسترده توسط دانشجویان، اساتید، محققان به عنوان منبع اصلی مجموعه داده های یادگیری ماشین استفاده شده است. از جمله مجموعههای داده محبوب آن عبارتند از مجموعه دادههای Iris، مجموعه داده ارزیابی خودرو، مجموعه دادههای دستی پوکر که برای آموزش الگوریتم های مختلف یادگیری ماشین از آن استفاده می شود.
یکی دیگر از منابعی که با استفاده از آن می توانیم مجموعه داده های سفارشی خود را جست و جو، دانلود و منتشر کنیم عبارتند از سایت AWS. هر کسی میتواند با استفاده از مجموع دادههای به اشتراک گذاشته شده از طریق منابع AWS، الگوریتم های مختلف یادگیری ماشین را بر روی مجموعه داده های مختلف پیاده سازی کند.
موتور جستجوی مجموعه داده های گوگل توسط گوگل در 5 سپتامبر 2018 راه اندازی شد. این منبع به محققان این امکان را می دهد تا مجموعه داده های آنلاین را که به صورت رایگان برای استفاده در دسترس هستند رابه منظور کاربردهای مختلف یادگیری ماشین دانلود کنند.
Scikit-learn یک کتابخانه یادگیری ماشین برای زبان برنامه نویسی پایتون می باشد که علاوه بر ارائه الگوریتم های مختلف یادگیر ماشین و پردازش امکان دسترسی به یکسری مجموعه داده را برای دانشمندان داده ممکن می سازد.
در مقاله یادگیری ماشین بانظارت، یاد گرفتیم که چگونه می توان مدل ها را با استفاده از مجموعه داده آموزشی برچسب دار، آموزش داد و بعد از آزمون قبولی، از آن ها برای سوددهی در هر کسب و کاری استفاده کرد. اما ممکن است در خیلی از پروژه ها یا صنایع امکان دسترسی به یک مجموعه داده برچسب دار نباشد یا به گونه ای تهیه یک مجموعه داده برچسب دار خیلی دشوار باشد، لذا نمی توان مدل ها را با استفاده از این نوع داده ها به خوبی آموزش داد، اما می توان یکسری الگو و رابطه از دل این مجموعه داده استخراج کرد. در این شرایط می توان از الگوریتم های یادگیری بدون نظارت به منظور خوشه بندی و استخراج رابطه بین داده ها نیز استفاده کرد. در ادامه بیشتر در مورد الگوریتم یادگیری بدون نظارت | Unsupervised Machine Learning آشنا خواهیم شد.
یادگیری ماشین بدون نظارت (Unsupervised Learning) روشی در هوش مصنوعی است که در آن مدل بدون داشتن برچسبهای مشخص روی دادهها، به الگوها و ساختارهای پنهان در دادهها پی میبرد. از مهمترین الگوریتمهای این روش میتوان به خوشهبندی (Clustering) مانند K-Means و تحلیل مؤلفههای اصلی (PCA) برای کاهش ابعاد داده اشاره کرد. در آموزش دیتابیس، این روش برای تحلیل دادههای بزرگ، کشف الگوهای پنهان در پایگاههای داده و دستهبندی اطلاعات کاربرد دارد. یادگیری ماشین بدون نظارت در زمینههایی مانند سیستمهای پیشنهاددهنده، شناسایی ناهنجاریها و تحلیل دادههای مشتریان استفاده میشود. این مدلها به شرکتها کمک میکنند تا بدون نیاز به دادههای برچسبگذاریشده، از اطلاعات خام بینش ارزشمندی استخراج کنند.
همانطور که از نام این نوع یادگیری پیداست، یادگیری بدون نظارت | Unsupervised Machine Learning یک تکنیک یادگیری ماشین است که در آن مدلها با استفاده از مجموعه دادههای آموزشی نظارت نمیشوند (یعنی از مجموعه داده دارای برچسب آموزش نمی بینند). در عوض، مدلها می توانند یکسری الگوها و بینشهای پنهان را از دل مجموعه داده ها پیدا کنند.
می توان یادگیری بدون نظارت را اینگونه نیز تعریف کرد:
یادگیری بدون نظارت نوعی از یادگیری ماشینی است که در آن مدلها با استفاده از مجموعه دادههای بدون برچسب آموزش داده میشوند و اجازه دارند بدون هیچ نظارتی بر روی آن دادهها عمل کنند.
در دوره آموزشی جامع علم داده تمام A-Z علم داده (یادگیری ماشین، داده کاوی) را به شکل کاملاً عملی و با زبانی ساده به شما آموزش می دهد
یادگیری بدون نظارت | Unsupervised Machine Learning را نمی توان مستقیماً برای حل یک مسئله رگرسیون یا دسته بندی نیز استفاده کرد زیرا برای حل این نوع مسائل ما نیاز به مجموعه داده ای داریم که دارای ویژگی برچسب باشد، لذا برای حل این نوع مسائل باید از الگوریتم های یادگیری بانظارت استفاده کرد. هدف از یادگیری بدون نظارت، یافتن ساختار زیربنایی مجموعه داده، گروه بندی آن داده ها بر اساس شباهت ها و نمایش آن مجموعه داده در یک قالب فشرده است .
مثال: فرض کنید یک مجموعه داده ورودی حاوی هزاران تصویر انواع مختلف گربه و سگ بدون هیچ نوع برچسبی داریم (تصویر زیر) که آن را به یک الگوریتم یادگیری بدون نظارت سپرده ایم. الگوریتم نمی تواند بر روی این مجموعه داده آموزش داده شود اما می تواند با توجه به الگوهای شباهتی که بین تصاویر مختلف گربه و سگ وجود دارد (مانند رنگ چشم، رنگ مو، اندازه و ...)، آن ها را به 2 خوشه گربه و سگ تقسیم نماید.
مهمترین عواملی که استفاده از الگوریتم یادگیری بدون نظارت را در صنایع مهم دانسته است عبارتند از:
نحوه کار الگوریتم های یادگیری بدون نظارت را می توان با تصویر زیر درک کرد:
در تصویر فوق و در مرحله اول ما یک مجموعه داده ورودی (تصاویر تصادفی حیوانات) بدون برچسب داریم، به این معنی که بخشی از داده ها از قبل دسته بندی نشده است و دارای برچسب نمی باشند. لذا در مرحله بعد با استفاده از یکی از الگوریتم های یادگیری ماشین بدون نظارت مانند k-means رابطه ها و الگوهای پنهان از دل تصاویر استخراج شده و خوشه بندی داده ها نیز انجام می پذیرد.
الگوریتم های یادگیری بدون نظارت | Unsupervised Machine Learning را می توان به دو دسته تقسیم کرد:
برخی از الگوریتم های یادگیری بدون نظارت | Unsupervised Machine Learning نیز در زیر لیست شده است:
SQL چیست؟ اس کیو ال چه کاربردهایی دارد و واژه SQL مخفف چه کلماتی است؟ پرسشی که در ذهن خیلی از علاقه مندان به بانک های اطلاعاتی شکل می گیرد و ما در این مقاله قصد داریم به تمامی سوالات شما در این باره پاسخ دهیم و با زبان SQL آشنا شویم.اس کیول (SQL) یا Structured Query Language یک زبان Domain-Specific است که برای برنامه نویسی و طراحی بانک های اطلاعاتی در بانک های رابطه ای یا RDBMS ها استفاده می شود.
زبان SQL مختص یک شرکت یا یک سازمان نیست، البته پایه این زبان توسط شرکت IBM گذاشته شد، ولی امروزه این زبان یک استاندارد پایه برای بانک های اطلاعاتی رابطه ای تعریف می کند. بر اساس این استاندارد شرکت هایی که نرم افزار بانک اطلاعاتی تولید می کنند مثل مایکروسافت یا اوراکل زبان مختص مربوط به بانک خود را طراحی می کنند که استفاده کنندگان از آن نرم افزار می توانند از زبان SQL مختص آن نرم افزار برای کوئری گرفتن، طراحی و برنامه نویسی در بانک های اطلاعاتی استفاده کنند.
قبل از اینکه به سراغ پاسخ به سوال SQL چیست برویم بهتر است که کمی با تاریخچه آن آشنا می شویم. زبان SQL اولین بار در شرکت IBM توسط دوناد چمبرلین و ریموند بویس در اواسط سال 1970 معرفی شد. نام اولین نسخه SEQUEL بود و به همین دلیل امروزه نیز واژه SQL به صورت سیکوئل نیز تلفظ می شود. واژه SEQUEL مخفف Structured English Query Language بود که برای تغییر و کوئری گرفتن از داده های بانک مخصوص IBM طراحی شده بود. بعد ها زبان SEQUEL به SQL تغییر نام داده شد و تبدیل به یک استاندارد برای پیاده سازی زبان بانک های اطلاعاتی رابطه ای شد.
پاسخ به پرسش SQL چیست نیازمند آشنایی با یکسری مفاهیم است! همانطور که قبلاً گفتیم کاربرد زبان SQL در بانک های رابطه ای است و ما بوسیله زبان SQL می توانیم اقدام به طراحی، تغییر و کوئری گرفتن از بانک های اطلاعاتی کنیم. اما قبل از اینکه به بررسی کاربردهای زبان SQL بپردازیم توضیح مختصری در مورد بعضی مفاهیم اصلی یک سیستم بانک اطلاعاتی رابطه ای یا RDBMS بدهیم. این مفاهیم در کنار هم تشکیل یک سیستم واحد را می دهند که می توان از آن برای نگه داری و آنالیز و استخراج داده استفاده کرد. بخش های اصلی یک RDBMS به شرح زیر است:
بانک اطلاعاتی یا Database: بانک ها مجموعه ای از اجزای مختلف هستند که امکانات لازم برای نگه داری اطلاعات را در اختیار ما قرار می دهند. برای مثال ما برای هر سیستم می توانیم یک بانک داشته باشیم، مثل بانک اطلاعاتی سیستم مالی یا بانک اطلاعاتی سیستم منابع انسانی.
جدول یا Table: جداول در داخل Database قرار دارند و داده های مختلف را تقسیم بندی می کنند. برای مثال در یک دیتابیس مالی ممکن است که ما نیاز به ذخیره کردن اطلاعاتی مانند سرفصل های حسابداری و اسناد حسابداری داشته باشیم که هر کدام از این اطلاعات می توانند داخل یک جدول ذخیره شوند.
رکورد یا Record: رکوردها به اطلاعات ذخیره شده داخل جدول گفته می شود. برای مثال، در سیستم مالی ما نیاز به ذخیره کردن یک سند مالی داشته باشیم، این سند به صورت یک Record در جدول ذخیره می شود. هر جدول می تواند شامل تعداد زیادی رکورد باشد.
ستون یا Column: هر رکورد در دیتابیس شامل یکسری اطلاعات است، باز هم مثال سند مالی را بررسی می کنیم، یک سند مالی می تواند اطلاعاتی مانند تاریخ، شرح و شما سند داشته باشد، هر یک از این اطلاعات در یک رکورد در قالب یک ستون یا Column ذخیره می شوند.
برای مطالعه بیشتر و آشنایی بیشتر با در مباحث آموزش دیتابیس و مفاهیم آموزش SQL Server به منبع مقاله در این لینک مراجعه کنید.