دانشجو ارشد هوش مصنوعی توسعه دهنده (پایتون - جنگو) حوزه تحقیقاتی تخصصی: سیستم پیشنهاد دهنده شغل: توسعه دهنده تیم امنیت ایرانسل شغل دوم: مدرس پایتون
مجموعه داده ای در یادگیری ماشین چیست؟
با توجه دفعات متعددی که در تدریس این حوزه وارد شده ام متوجه شدم که همه تصور می کنند که یک مجموعه داده ای را میشناسند اما متاسفانه افراد بسیاری هستند که اصطلاحات تخصصی و مفاهیم ابتدایی یک مجموعه داده ای را نمی شناسند. اگر شما هم نمی دانید هیچ ایرادی ندارد. این پست برای افرادی است که به تازگی وارد این حوزه شده اند و می خواهند اصطلاحات یک مجموعه داده ای را بیاموزند.
مجموعه داده ای چیست؟
هر زمان شما تعدادی داده داشتید که توانستید آن ها را در یک سطر و ستون جای دهید، می توانید ادعا کنید که یک مجموعه ای از داده را دارید. بنابراین تبریک می گم ساده ترین مجموعه داده ای یک جدول است که دارای سطر و ستون است. حال این جدول را شما می توانید در هر جایی مانند اکسل، وب سایت داشته باشید. عنوانی که در دنیای لاتین در رابطه با مجموعه داده ای به کار می رود، Data set است.
اما به خاطر داشته باشید که مجموعه داده ای می تواند نهفته در مکان های بسیاری باشد که استخراج نشده اند. به عبارتی اینجا آغاز داده کاوی است. یعنی شما موظف هستید تا یک مجموعه داده ای بسازید. این داده-ها می توانند نهفته در متن یک وب سایت، کتاب یا هرجای دیگری باشند و یا ممکن است در قالب سرویس-های وب سایت هایی باشند که به شما می خواهند این مجموعه داده ای را بدهند که اغلب فرمت JSON دارند. حتی ممکن است خیلی از خروجی ها قدیمی تر باشند و با فرمت XML حضور پیدا کنند. این را نیز در نظر داشته باشید که داده های شما ممکن است در قالب یک فایل ساده شده اکسل با فرمت csv باشد.
بنابراین زمانی می توانید بگویید مجموعه داده ای دارید که شما بتوانید داده هایتان را در قالب سطر و ستون بگنجانید.
اکنون یک مجموعه داده ای ساده را شناختید؛ به شما تبریک می گویم. حال مجموعه داده ای پیچیده تر چیست؟
قالباً این نوع مجموعه داده ای سه وجه را داراست به عبارت دیگر سطر، ستون و عمق دارد. می دانم که شما هم توانستید حدث بزنید. مجموعه داده ای پیشرفته تر با عنوان مکعب داده (Data Cube) یا مجموعه داده ای سه بعدی شناخته شده است. خیلی از مقالات علمی این نوع مجموعه داده ای را با عنوان پنل (panel) یاد می کنند.
جمع آوری اطلاعات بخش اول این مقاله)
اکنون شما می دانید که یک مجموعه داده ای می تواند یک جدول یا مکعب داده باشد. به هر حالتی که مجموعه داده ای را پیدا می کنید، بهتر است آن را در قالب یک فایل CSV در بیاورید. فایل CSV یک فایل اکسل است که از کاراکتر و کاما ترکیب شده است. مثال زیر یک مجموعه داده ای CSV در فایل notepad است که نرم افزار اکسل شما نیز می تواند آن را بخواند.
m2,rooms,price
100,3,100.000.000
125,2,150.000.000
اصطلاحات یک مجموعه داده ای
اکنون زمان این رسیده است تا اصطلاحات داخل مجموعه داده ای را بشناسیم. ابتدا شکل زیر را مشاهده کنید:
همانطور که می دانید هر کدام از مربع های قرمز رنگ داخل این مجموعه داده ای حکم یک ستون را دارد. در دنیای مهندسین علم داده به ستون نام های زیر را نسبت می دهند:
- ویژگی (feature)
- بعد (dimension)
- صفت خاصه (attribute)
- متغیر (variable)
بنابراین سعی کنید با این اسامی ارتباط برقرار کنید به این خاطر که به کرات از این اصطلاحات استفاده شده است. توجه داشته باشید که زمانی که در حوزه یادگیری ماشین می گویید متغیر، منظور داده های یک ستون است نه متغیر معمولی برنامه نویسی که در ابتدای یادگیریتان آموخته اید.
حال برسیم به اصطلاحاتی که در رابطه با یک سطر گفته می شود:
اکنون می توانید جایگاه یک سطر را در مجموعه داده ای مشاهده کنید. مهندسین علم داده به سطر اصطلاحات زیر را نسبت می دهند:
- تاپل (tuple)
- رکورد (record)
- دیتا پوینت (data point)
اکنون مشاهده کردید که در این قسمت نیز اصطلاحاتی وجود دارد. اکنون اصطلاح دیگری نیز هست که به هر داده ای صرف نظر از اینکه در ستون و سطر خاصی قرار داشته باشد را به آن مشاهده (observation) می گویند. به عبارت دیگر هر داده که در مجموعه داده ای وجود داشته باشد یک مشاهده است و بصورت کلی به تعدادی از آن ها مشاهدات می گویند. نام دیگر مشاهدات نیز نمونه ها (samples) است.
اکنون از میان همه ستون ها خیلی وقت ها مد نظر داریم تا ستون دیگری را توسط الگوریتمی پیشبینی کنیم. خیلی ساده اگر بیان کنیم بر روی این دست از مجموعه های داده ای الگوریتم های نظارتی یادگیری ماشین زده می شود که در پستی دیگر توضیح داده شده است.
به این ستون در مجموعه داده ای که معمولا در ستون آخر قرارش می دهند، موارد زیر را می گویند:
- خروجی (output)
- هدف (target)
- سمبل (y)
- برچسب (label)
حال به متغیر های (feature) انتخاب شده جهت پیشبینی خروجی موارد زیر گفته می شود:
- ورودی (input)
- بردار ویژگی (feature vector)
- سمبل (x)
اینکه چگونه شما انتخاب می کنید کدام ویژگی حضور داشته باشد و کدام ویژگی حضور نداشته باشد، لازم است تا در پست دیگری به آن پرداخته شود.
اکنون شما آموختید که یک مجموعه داده ای از چه بخش هایی تشکیل شده است و حرف مشترک میان مهندسین علم داده را فرا گرفتید. شما چه اصطلاحاتی را می شناسید؟ لطفا نظرات و پیشنهادات خودتان را در زیر این پست قرار دهید.
موفق، مؤید و پیروز باشید.
مطلبی دیگر از این انتشارات
15 شغل برتر فناوری برای شهرهای هوشمند در سال 2018 و بعد از آن - بخش دوم
مطلبی دیگر از این انتشارات
هوش مصنوعی و انتخابات: نمونهای از استفاده از کلان داده ها در سیاست
مطلبی دیگر از این انتشارات
پردازش تصویر با کتابخانه OpenCV در سی شارپ