دسته بندی یا طبقه بندی در یادگیری ماشین (هوش مصنوعی)
دسته بندی, به انگلیسی classification, عبارت است از وارد مجموعه کردن یا برچسب زدن اعضاء بر حسب شاخه ها که در machine learning, از نوع الگوریتم های مدیریت شده, یا سوپروایزد, به انگلیسی supervised محسوب میشود.
مجموعه داده یا data set

مجموعه داده یا data set همانطور که از نامش مشخص است درواقع مجموعه ای از داده است. هر data set به مانند جداول پایگاه داده دارای ستون ها و ردیف های مشخصی است. در یادگیری ماشین ما معمولا به یک training data set یا مجموعه داده آموزشی نیاز داریم.
نمونه یا instance
نمونه یا instance به یک ردیف یا یک مورد از داده های data set ما میگویند.
مجموعه داده تمرین
مجموعه داده تمرین به انگلیسی training data set به مجموعه ای میگویند که حاوی feature ها و label های درستی برای یادگیری و تمرین مدل الگوریتم یادگیری ماشین میباشد.
مثال:
- مجموعه داده میوه ها - خلق شده توسط دکتر Iain Murray از دانشگاه Edinburgh
مجموعه داده آزمایش
مجموعه داده آزمایش به انگلیسی testing data set به مجموعه ای میگویند که حاوی feature ها و label های درست یا غلطی برای برسی دقت مدل الگوریتم میباشد.
ویژگی یا feature
ویژگی یعنی کمیت ها و کیفیت های اندازه گیری شده از یک پدیده. ستون های یک جدول, یا ورودی های یک مدل, یا فعل و فاعل و دیگر نقش های یک جمله همگی یک ویژگی یا feature هستند [^1]. به عنوان مثال یک انسان دارای ویژگی های قد, وزن و سن است.
برچسب ها یا label ها
یک ماشین دسته بندی ویژگی یا ویژگی هایی را از محیط دریافت میکند, و خروجی یا خروجی هایی به نام برچسب یا label به آن نسبت میدهد.
هدف اصلی الگوریتم های دسته بندی برچسب زدن به ویژگی های دریافتی است.
برسی در زبان های مختلف
با اینکه مفاهیم و طرز کار الگوریتم ها در همه زبان ها یکسان هست. اما کتابخانه های متفاوتی در هر کدوم از اونها وجود داره که در اینجا معرفی میکنیم.
پایتون
در پایتون برای دسته بندی داده ها از ماژول scikit-learn استفاده میشه که تقریبا از بیشتر الگوریتم ها پشتیبانی میکنه.
الگوریتم های دسته بندی
- الگوریتم kNN مخفف K همسایه نزدیک یا K-Nearest Neighbors
- Support Vector Machines
- Decision Tree Classifiers/Random Forests
- Naive Bayes
- Linear Discriminant Analysis
- رگرسیون لاجستیکی یا Logistic Regression
رگرسیون لاجستیکی
خروجی رگرسیون لاجستیکی بصورت پیشبینی هایی باینری درباره داده های آزمایش هست. اگر مقدار چیزی مثلا نیم یا بالای ۰.۵ باشد وارد دسته بندی ۱ خواهد شد. درحالی مقادیر زیر ۰.۵ وارد دسته ۰ خواهند شد. هرویژگی برچسبی دو دویی به صورت ۰ و ۱ خواهد داشت. رگرسیون لاجستیکی یک دسته بندی کننده خطی هست. به این معنی که وقتی استفاده میشه که نوعی رابطه خطی بین داده ها وجود داشته باشه.
[^1] ویژگی ها مثل متغیر های مشاهده پذیر در فیزیک هستند.