وبلاگ
طبقه بندی در داده کاوی چیست؟ از مفهوم Classification تا الگوریتمها
طبقه بندی در داده کاوی یکی از مهمترین روشهای تحلیل داده و یادگیری با نظارت است که برای قرار دادن دادهها در کلاسهای از پیش تعریفشده استفاده میشود. در این روش، مدل با استفاده از نمونههایی که برچسب آنها مشخص است آموزش میبیند و سپس تلاش میکند کلاس دادههای جدید را پیشبینی کند.
برای مثال، یک بانک میتواند با استفاده از اطلاعات مشتریان قبلی، مدلی بسازد که احتمال بازپرداخت یا عدم بازپرداخت وام توسط یک مشتری جدید را پیشبینی کند. در این حالت، «پرداخت خواهد کرد» و «پرداخت نخواهد کرد» دو کلاس مسئله هستند.
Classification فقط به مسائل بانکی محدود نیست. تشخیص ایمیل اسپم، تشخیص بیماری، شناسایی تراکنشهای مشکوک، دستهبندی اسناد و پیشبینی ریزش مشتری نمونههایی از کاربردهای آن هستند.

سرفصل محتوا:
طبقه بندی در داده کاوی چیست؟
طبقه بندی یا Classification فرایندی برای ساخت مدلی است که بتواند بر اساس ویژگیهای یک نمونه، کلاس یا گروه آن را پیشبینی کند. این روش معمولاً در دسته روشهای یادگیری با نظارت (Supervised Learning) قرار میگیرد؛ زیرا مدل برای یادگیری به دادههایی نیاز دارد که برچسب واقعی آنها مشخص باشد.
به زبان ساده، در Classification ما نمونههایی را در اختیار الگوریتم قرار میدهیم که پاسخ صحیح آنها را میدانیم. مدل از رابطه میان ویژگیهای ورودی و برچسب خروجی یاد میگیرد و سپس همین الگو را برای دادههای جدید به کار میگیرد.
در نتیجه، ساختار کلی مسئله را میتوان به صورت زیر در نظر گرفت:
- Feature: ویژگی یا اطلاعات ورودی درباره هر نمونه
- Label: پاسخ یا برچسب واقعی نمونه
- Class: یکی از گروههای ممکن برای برچسب
- Training Data: دادههایی که برای آموزش مدل استفاده میشوند
- Test Data: دادههایی که برای سنجش عملکرد مدل روی نمونههای دیدهنشده استفاده میشوند
بنابراین اگر هدف بانک پیشبینی وضعیت بازپرداخت وام باشد، سن، درآمد، شغل و سابقه اعتباری میتوانند Feature باشند و «پرداخت کرده» یا «پرداخت نکرده» به عنوان Label در نظر گرفته شود.
Classification چگونه کار میکند؟
فرایند طبقه بندی با یک مجموعه داده برچسبدار شروع میشود. این دادهها به شکلی آماده میشوند که الگوریتم بتواند رابطه میان ویژگیهای ورودی و کلاس خروجی را یاد بگیرد.
پس از آموزش، مدل روی دادههایی آزمایش میشود که در زمان آموزش در اختیار آن نبودهاند. سپس پیشبینی مدل با برچسب واقعی مقایسه میشود تا مشخص شود مدل تا چه اندازه توانسته است نمونهها را درست طبقهبندی کند.

Feature، Label و Class چیست؟
فرض کنید مجموعه دادهای از مشتریان یک بانک داریم. در این دیتاست، «سن»، «درآمد»، «شغل» و «سابقه اعتباری» میتوانند ویژگیهای ورودی باشند. این ویژگیها اطلاعاتی را در اختیار مدل قرار میدهند که بر اساس آنها باید تصمیم بگیرد.
اگر ستون هدف مشخص کند که مشتری وام خود را پرداخت کرده یا خیر، این ستون Label است. مقادیر مختلف این Label نیز کلاسهای مسئله را تشکیل میدهند.
در یک مسئله دودویی، معمولاً فقط دو کلاس وجود دارد؛ اما Classification میتواند بیش از دو کلاس نیز داشته باشد.
Training و Test Dataset چیست؟
دادههای آموزشی برای یادگیری مدل استفاده میشوند و دادههای آزمون برای بررسی عملکرد آن روی نمونههای جدید. نسبت تقسیم دادهها یک قانون ثابت مانند ۸۰ به ۲۰ نیست و باید بر اساس اندازه دیتاست، نوع مسئله، روش اعتبارسنجی و شرایط پروژه انتخاب شود.
در پروژههای واقعی، علاوه بر Training و Test، ممکن است از Validation Set یا روشهایی مانند Cross-Validation نیز برای انتخاب مدل و تنظیم پارامترها استفاده شود.
از درک Classification تا ساخت مدلهای واقعی یادگیری ماشین
اگر میخواهید مفاهیم دادهکاوی را به مهارت عملی Machine Learning تبدیل کنید، مسیر یادگیری را مرحلهبهمرحله دنبال کنید.
انواع طبقه بندی در داده کاوی
مسائل Classification را میتوان بر اساس تعداد و ساختار کلاسهای خروجی به انواع مختلفی تقسیم کرد. سه حالت مهم شامل طبقه بندی دودویی، چندکلاسه و چندبرچسبی هستند.
طبقه بندی دودویی یا Binary Classification
در Binary Classification فقط دو کلاس ممکن وجود دارد. برای نمونه، یک سیستم تشخیص اسپم میتواند هر ایمیل را در یکی از دو کلاس «اسپم» یا «غیراسپم» قرار دهد.
در مسائل بانکی نیز میتوان مشتریان را بر اساس یک هدف مشخص به دو گروه تقسیم کرد؛ برای مثال «ریسک بالا» و «ریسک پایین». در پزشکی نیز تشخیص وجود یا عدم وجود یک وضعیت مشخص میتواند یک مسئله طبقه بندی دودویی باشد.
طبقه بندی چندکلاسه یا Multi-Class Classification
در Multi-Class Classification بیش از دو کلاس وجود دارد. برای مثال، اگر بخواهیم یک تصویر را به یکی از سه گروه «گربه»، «سگ» یا «پرنده» اختصاص دهیم، با یک مسئله چندکلاسه مواجه هستیم.
طبقهبندی گونههای گیاهی، دستهبندی موضوعی اسناد و تشخیص چند نوع بیماری میتوانند نمونههایی از این نوع Classification باشند.
طبقه بندی چندبرچسبی یا Multi-Label Classification
در Multi-Label Classification هر نمونه میتواند همزمان بیش از یک برچسب داشته باشد. برای مثال، یک مقاله ممکن است همزمان در دستههای «هوش مصنوعی»، «دادهکاوی» و «یادگیری ماشین» قرار گیرد.
این حالت با Multi-Class متفاوت است؛ زیرا در Multi-Class معمولاً نمونه یک کلاس را انتخاب میکند، اما در Multi-Label یک نمونه میتواند چند Label داشته باشد.
یک مثال واقعی از Classification در بانک
فرض کنید بانکی میخواهد احتمال بازپرداخت وام مشتریان جدید را بررسی کند. بانک از مشتریان قبلی اطلاعاتی مانند سن، درآمد، شغل و سابقه پرداخت وام در اختیار دارد.
| مشتری | سن | شغل | درآمد | بازپرداخت وام |
|---|---|---|---|---|
| ۱ | ۵۰ | معلم | ۱۰۰۰ | بله |
| ۲ | ۳۰ | کارمند | ۸۰۰ | خیر |
| ۳ | ۴۵ | آزاد | ۲۰۰۰ | بله |
| ۴ | ۲۵ | کارمند | ۱۲۰۰ | خیر |
در این مسئله، چهار ویژگی ورودی داریم: سن، شغل، درآمد و سایر اطلاعات مرتبط با مشتری. ستون «بازپرداخت وام» Label است و دو مقدار «بله» و «خیر» کلاسهای مسئله را تشکیل میدهند.
مدل با استفاده از تعداد زیادی نمونه تاریخی آموزش داده میشود. سپس اگر اطلاعات مشتری جدیدی وارد شود، مدل میتواند احتمال تعلق آن مشتری به یکی از کلاسها را پیشبینی کند.
نکته مهم این است که Classification به معنی تصمیمگیری قطعی و بدون خطا نیست. خروجی مدل باید با معیارهای مناسب ارزیابی شود و در مسائل حساس مانند اعتبارسنجی مالی، پزشکی یا تشخیص تقلب، محدودیتها و هزینه خطا نیز باید در تصمیمگیری لحاظ شوند.
مهمترین الگوریتمهای طبقه بندی
برای ساخت مدلهای Classification الگوریتمهای مختلفی وجود دارد و انتخاب الگوریتم مناسب به نوع داده، اندازه دیتاست، پیچیدگی مسئله، نیاز به تفسیرپذیری و معیارهای عملکرد بستگی دارد.
درخت تصمیم یا Decision Tree
Decision Tree دادهها را با مجموعهای از تصمیمها و شرطها به شاخههای مختلف تقسیم میکند. ساختار درخت باعث میشود منطق تصمیمگیری مدل نسبتاً قابل مشاهده و تفسیر باشد.
برای مثال، مدل میتواند ابتدا مشتریان را بر اساس درآمد تقسیم کند و سپس در هر شاخه بر اساس سابقه اعتباری یا سن تصمیمگیری را ادامه دهد.
مزیت مهم درخت تصمیم، تفسیرپذیری نسبتاً خوب آن است؛ اما در صورت عدم کنترل پیچیدگی، مدل ممکن است بیش از حد به دادههای آموزشی وابسته شود.
K-Nearest Neighbors یا KNN
در الگوریتم KNN برای پیشبینی کلاس یک نمونه جدید، نمونههای نزدیک به آن در فضای ویژگیها بررسی میشوند. سپس بر اساس کلاس همسایههای نزدیک، کلاس نمونه جدید تعیین میشود.
مفهوم اصلی KNN ساده است: نمونههایی که از نظر ویژگیها به یکدیگر نزدیکتر هستند، احتمالاً رفتار یا کلاس مشابهی دارند.
با این حال، مقیاس ویژگیها، انتخاب مقدار K و معیار فاصله میتوانند تأثیر زیادی بر عملکرد این الگوریتم داشته باشند.
ماشین بردار پشتیبان یا SVM
Support Vector Machine تلاش میکند مرزی مناسب برای تفکیک کلاسها پیدا کند. در حالت ساده، این مرز میتواند یک خط یا صفحه باشد و در مسائل پیچیدهتر با استفاده از روشهایی مانند Kernel میتوان روابط غیرخطی را نیز مدل کرد.
SVM بهخصوص در برخی دیتاستهای با ابعاد بالا میتواند عملکرد مناسبی داشته باشد، اما انتخاب پارامترها و Kernel مناسب برای آن اهمیت زیادی دارد.
شبکههای عصبی یا Neural Networks
شبکههای عصبی از لایههایی از واحدهای محاسباتی تشکیل شدهاند که میتوانند روابط پیچیده میان ورودی و خروجی را یاد بگیرند.
این مدلها در مسائل مختلفی مانند طبقهبندی تصویر، متن، صوت و دادههای پیچیده کاربرد دارند و پایه بسیاری از سیستمهای مدرن یادگیری عمیق هستند.

Classification چه تفاوتی با Regression و Clustering دارد؟
یکی از اشتباهات رایج در یادگیری دادهکاوی، یکسان در نظر گرفتن Classification، Regression و Clustering است. هر سه روش برای تحلیل داده کاربرد دارند، اما مسئلهای که حل میکنند متفاوت است.
| روش | نوع یادگیری | نوع خروجی | مثال |
|---|---|---|---|
| Classification | با نظارت | کلاس یا دسته | اسپم یا غیراسپم |
| Regression | با نظارت | مقدار عددی | پیشبینی قیمت خانه |
| Clustering | بدون نظارت | گروههای کشفشده از داده | تقسیمبندی مشتریان |
بنابراین اگر بخواهیم مشخص کنیم مشتری در کدام گروه قرار میگیرد، احتمالاً با Classification روبهرو هستیم. اگر بخواهیم مقدار فروش ماه آینده را پیشبینی کنیم، مسئله میتواند Regression باشد. اگر بخواهیم گروههای طبیعی مشتریان را بدون داشتن برچسب از قبل کشف کنیم، Clustering گزینه مناسبتری است.
چگونه عملکرد مدل Classification را ارزیابی کنیم؟
صرفاً درست بودن چند پیشبینی برای ارزیابی یک مدل کافی نیست. در پروژههای واقعی باید از معیارهای مناسب استفاده کرد تا مشخص شود مدل در شرایط مختلف چه عملکردی دارد.
Accuracy
Accuracy نسبت پیشبینیهای درست به کل پیشبینیهاست. این معیار زمانی مفید است که توزیع کلاسها نسبتاً متعادل باشد و هزینه خطاها تفاوت زیادی نداشته باشد.
Precision
Precision نشان میدهد از میان نمونههایی که مدل یک کلاس خاص را برای آنها پیشبینی کرده، چه نسبتی واقعاً متعلق به همان کلاس بودهاند.
Recall
Recall نشان میدهد مدل چه مقدار از نمونههای واقعاً متعلق به یک کلاس را توانسته شناسایی کند.
در مسئلههایی مانند تشخیص بیماری یا شناسایی تقلب، Recall ممکن است اهمیت زیادی داشته باشد؛ زیرا از دست دادن یک نمونه مثبت واقعی میتواند هزینه بالایی داشته باشد.
F1-Score
F1-Score ترکیبی از Precision و Recall است و زمانی مفید است که بخواهیم میان این دو معیار تعادل برقرار کنیم، بهخصوص زمانی که کلاسها متعادل نیستند.
Confusion Matrix
Confusion Matrix خلاصهای از نتایج پیشبینی مدل را بر اساس کلاس واقعی و کلاس پیشبینیشده نمایش میدهد. این ماتریس به تحلیل خطاهای مدل کمک میکند و پایه محاسبه معیارهایی مانند Precision و Recall است.
کاربردهای طبقه بندی در داده کاوی
طبقه بندی زمانی ارزشمند است که کسبوکار یا سازمان بخواهد دادههای جدید را بر اساس الگوهای آموختهشده در گروههای مشخص قرار دهد.
تشخیص ایمیلهای اسپم
سیستمهای فیلتر ایمیل میتوانند پیامها را بر اساس ویژگیهای متن، فرستنده، الگوهای رفتاری و سایر اطلاعات به کلاسهایی مانند Spam و Not Spam اختصاص دهند.
تشخیص تقلب
در بانکداری و پرداخت، مدلهای Classification میتوانند تراکنشها را بر اساس الگوهای تاریخی در دستههایی مانند عادی و مشکوک قرار دهند.
تشخیص بیماری
در برخی کاربردهای پزشکی، مدل میتواند با استفاده از دادههای بالینی، آزمایشگاهی یا تصویری، نمونهها را در گروههای مشخص طبقهبندی کند. البته چنین مدلهایی باید با دادههای معتبر، ارزیابی دقیق و نظارت متخصصان استفاده شوند.
پیشبینی ریزش مشتری
یک کسبوکار میتواند مشتریان را بر اساس احتمال ریزش به گروههایی مانند «در معرض ریزش» و «کمریسک» تقسیم کند و سپس اقدامات retention را هدفمندتر انجام دهد.
دستهبندی اسناد و محتوا
Classification میتواند برای اختصاص اسناد، تیکتهای پشتیبانی، ایمیلها یا محتوای متنی به موضوعات مختلف استفاده شود. این کاربرد در سیستمهای جستوجو، اتوماسیون سازمانی و پردازش زبان طبیعی اهمیت زیادی دارد.
طبقهبندی تصاویر
در Computer Vision، مدلهای Classification میتوانند تصاویر را به کلاسهای از پیش تعریفشده اختصاص دهند. تشخیص نوع محصول، گونه گیاهی یا دستهبندی تصاویر پزشکی نمونههایی از این کاربرد هستند.
نقش Classification در هوش تجاری
هوش تجاری فقط به نمایش نمودار و داشبورد محدود نمیشود. زمانی که دادههای سازمان با روشهای تحلیلی و مدلهای پیشبینی ترکیب شوند، میتوان از BI برای تصمیمگیری دقیقتر استفاده کرد.
طبقه بندی میتواند در این لایه نقش مهمی داشته باشد. برای مثال، یک سیستم تحلیلی میتواند مشتریان را بر اساس احتمال ریزش، تراکنشها را بر اساس ریسک تقلب یا سرنخهای فروش را بر اساس احتمال تبدیل طبقهبندی کند.
در چنین معماریای، خروجی مدل Classification میتواند وارد داشبورد مدیریتی شود و در کنار KPIها به تصمیمگیرندگان کمک کند که فقط وضعیت گذشته را نبینند، بلکه درباره وضعیت احتمالی آینده نیز اطلاعات داشته باشند.
این موضوع نشان میدهد که دادهکاوی و هوش تجاری میتوانند مکمل یکدیگر باشند؛ دادهکاوی الگوها را استخراج میکند و سیستم BI میتواند این نتایج را به اطلاعات قابل استفاده برای تصمیمگیری تبدیل کند.
مزایا و محدودیتهای طبقه بندی
Classification یکی از روشهای کاربردی یادگیری ماشین است، اما استفاده از آن بدون توجه به کیفیت داده و شرایط مسئله میتواند نتایج گمراهکننده ایجاد کند.
مزایای Classification
- قابل استفاده برای طیف گستردهای از مسائل تجاری و علمی
- امکان خودکارسازی تصمیمهای تکراری
- قابلیت استفاده از دادههای تاریخی برای پیشبینی کلاس دادههای جدید
- امکان ترکیب با سیستمهای تحلیل داده و هوش تجاری
- وجود الگوریتمهای متنوع برای دادههای ساده و پیچیده
محدودیتهای Classification
- کیفیت پایین داده میتواند عملکرد مدل را کاهش دهد.
- برچسبهای اشتباه میتوانند مدل را به سمت الگوهای نادرست هدایت کنند.
- عدم توازن شدید میان کلاسها میتواند Accuracy را گمراهکننده کند.
- Overfitting ممکن است باعث شود مدل روی دادههای آموزشی خوب عمل کند اما روی دادههای جدید ضعیف باشد.
- در مسائل حساس، پیشبینی مدل نباید بدون بررسی زمینه و هزینه خطا به تصمیم نهایی تبدیل شود.
طبقه بندی در داده کاوی چه زمانی انتخاب مناسبی است؟
اگر هدف پروژه این باشد که برای هر نمونه یک یا چند دسته مشخص پیشبینی شود و برای نمونههای آموزشی Label داشته باشیم، Classification یکی از گزینههای اصلی است.
برای مثال، اگر یک فروشگاه بخواهد مشتریان را به «احتمال خرید بالا» و «احتمال خرید پایین» تقسیم کند، میتواند یک مسئله Classification تعریف کند. اما اگر هدف، پیشبینی مبلغ دقیق خرید باشد، Regression احتمالاً انتخاب مناسبتری است.
همچنین اگر هیچ Label مشخصی وجود نداشته باشد و هدف کشف گروههای طبیعی در داده باشد، باید به سراغ روشهای Unsupervised Learning مانند Clustering رفت.
جمعبندی
طبقه بندی در داده کاوی روشی برای یادگیری الگو از دادههای برچسبدار و اختصاص نمونههای جدید به کلاسهای مشخص است. این روش یکی از پایههای مهم یادگیری با نظارت محسوب میشود و در حوزههایی مانند بانکداری، بازاریابی، تشخیص تقلب، پزشکی، پردازش متن و بینایی ماشین کاربرد دارد.
Classification میتواند دودویی، چندکلاسه یا چندبرچسبی باشد و الگوریتمهایی مانند Decision Tree، KNN، SVM و Neural Networks برای حل مسائل آن استفاده میشوند.
با این حال، انتخاب الگوریتم بهتنهایی کافی نیست. کیفیت داده، تعریف درست Label، نحوه تقسیم داده، جلوگیری از Overfitting و انتخاب معیار ارزیابی مناسب، همگی در موفقیت یک پروژه Classification نقش دارند.
اگر دادهکاوی را نقطه شروع تحلیل داده بدانیم، Classification یکی از مهمترین ابزارهایی است که این تحلیل را از توصیف دادههای گذشته به پیشبینی و تصمیمگیری درباره دادههای جدید نزدیک میکند.
وقت آن است که Classification را از تئوری به پروژه واقعی تبدیل کنید.
اگر با مفاهیم دادهکاوی آشنا شدهاید، مرحله بعد یادگیری الگوریتمها، ارزیابی مدلها و ساخت پروژههای واقعی Machine Learning است. مسیر مناسب یادگیری را همین حالا شروع کنید.
سؤالات متداول درباره طبقه بندی در داده کاوی
طبقه بندی در داده کاوی چیست و چه کاربردی دارد؟
طبقه بندی در داده کاوی روشی برای اختصاص دادهها به کلاسهای مشخص بر اساس الگوهای یادگرفتهشده از دادههای برچسبدار است. تشخیص اسپم، پیشبینی ریزش مشتری، تشخیص تقلب و طبقهبندی اسناد نمونههایی از کاربردهای آن هستند.
تفاوت طبقه بندی دودویی و چندکلاسه چیست؟
در طبقه بندی دودویی فقط دو کلاس وجود دارد؛ مانند اسپم و غیراسپم. در طبقه بندی چندکلاسه، نمونه میتواند به یکی از بیش از دو کلاس اختصاص پیدا کند.
کدام الگوریتمها برای Classification استفاده میشوند؟
Decision Tree، KNN، SVM و Neural Networks از الگوریتمهای شناختهشده برای Classification هستند. انتخاب الگوریتم به نوع داده، اندازه دیتاست، پیچیدگی مسئله و نیازهای پروژه بستگی دارد.
تفاوت Classification و Regression در یادگیری ماشین چیست؟
Classification معمولاً برای پیشبینی یک کلاس یا دسته استفاده میشود، در حالی که Regression برای پیشبینی یک مقدار عددی به کار میرود؛ برای مثال تشخیص «وام پرداخت میشود یا خیر» یک Classification و پیشبینی «مبلغ فروش ماه آینده» یک Regression است.
Classification چه تفاوتی با Clustering دارد؟
Classification معمولاً به دادههای دارای Label نیاز دارد و در دسته یادگیری با نظارت قرار میگیرد. Clustering معمولاً بدون Label از پیش تعیینشده، گروههای موجود در داده را کشف میکند و در دسته یادگیری بدون نظارت قرار میگیرد.
دقت مدل طبقه بندی چگونه ارزیابی میشود؟
برای ارزیابی Classification میتوان از معیارهایی مانند Accuracy، Precision، Recall و F1-Score و همچنین Confusion Matrix استفاده کرد. انتخاب معیار مناسب به نوع مسئله و هزینه خطاها بستگی دارد.
سلام ممنون از مطلب جامع و کاملی که ارائه دادید، فقط امکانش هست منابع رو هم ذکر کنید؟
سپاسگزاریم. بله حتما. در اکثر مقاله ها ، منابع را در انتها قرار دادیم. در آپدیت بعدی حتما این مورد را بررسی خواهیم کرد.