طبقه بندی در داده کاوی

طبقه بندی در داده کاوی

طبقه بندی در داده کاوی

طبقه بندی در داده کاوی

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

طبقه­ بندی داده ها

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

*یادآوری: یادگیری با ناظر: یکی از روش های داده کاوی، یادگیری با ناظر است.  یادگیری الگوریتم های داده­ کاوی تحت نظارت می­توانند آنچه را که در گذشته آموخته شده است به منظور پیش­بینی رویدادهای آینده با استفاده از مثال­های برچسب گذاری شده برای داده­ های جدید اعمال کنند. با شروع فرایند تجزیه و تحلیل یک مجموعه داده‌ شناخته شده، الگوریتم، یک تابع برای پیش­ ­بینی مقادیر خروجی تولید می­کند. سیستم می­تواند اهداف هر ورودی جدید را پس از آموزش کافی فراهم کند. الگوریتم  همچنین می­تواند خروجی خود را با خروجی صحیحِ در نظر گرفته شده مقایسه کرده و به منظور تغییر مدل، خطای خود را پیدا کند. روش­هایی که در یادگیری با ناظر استفاده می­شوند خوشه ­بندی و رگرسیون است.

 اصولاً از تکنیک­های طبقه ­بندی برای طبقه­ بندی هر داده در مجموعه ­ای از داده­ ها و اختصاص به یکی از مجموعه­ های از پیش تعیین شده کلاس­ها یا گروه­ها استفاده می­­شود. روش طبقه بندی از تکنیک­های ریاضی مانند درخت تصمیم، برنامه ­ریزی خطی، شبکه عصبی و آمار برای طبقه ­بندی استفاده می­کند. به عبارتی طبقه­بندی، فرایند یافتن مدلی که توصیف کننده کلاس­ها و مفاهیم داده است و داده ­ها را به گروه­های مشخص تفکیک می­کند. الگوریتم­ های طبقه­ بندی، قادر به یادگیری از تجربیات گذشته هستند و این یادگیری بر اساس تجربه نشان دهنده یک گام اساسی در تقلید از توانایی­های استقرایی مغز انسان است که بر اساس این توانایی مغز می­تواند مسئله­ ی شناسایی یک گروه از دسته­ ها (زیرجمعیت ها) را انجام دهد.

 

انجام فرایند طبقه­ بندی

 فرایند طبقه ­بندی به این صورت است که براساس یک مجموعه آموزشی سیستم یاد می­گیرد داده ­ها را به گروه­ های درست با کمترین خطا تقسیم ­بندی کند. مجموعه ­ی آموزش حاوی داده ­هایی است که دسته ­ی آن­ها مشخص است؛ هر الگو  یا دسته یک برچسب (Label) دارد و داده ­هایی با برچسب هدف یکسان در یک گروه قرار می­گیرند. هدف این روش، یادگیری تابعی است که الگوهای (بردارهای ویژگی) ورودی را به برچسب­های متناظرشان نگاشت می­کند.

فرایند طبقه­ بندی دارای دو فاز اموزش (Train) و آزمون (Test) است. حدود 80% از داده­ های موجود در دیتاست را به عنوان داده ­ی آموزش انتخاب کرده و 20% داده ­های باقی مانده را برای آزمون و اعتبارسنجی انتخاب می­کنیم.  بدیهی است که برچسب­های واقعی الگوهای آموزشی از قبل داده شده ­اند. در فاز تست الگوهایی که برچسب آنها مشخص نیست به سیستم داده می­شوند و سیستم طراحی شده به کمک تابع یادگرفته شده ­ی خود خروجی یا برچسب آنها را پیش بینی می­کند.

 

انواع طبقه بندی

از انواع طبقه بندی می توان به موارد زیر اشاره کرد:

طبقه بندی دودویی یا باینری

Binary Classification یا طبقه بندی دودویی یا باینری:  مسائلی از طبقه ­بندی که دارای دو برچسب کلاس هستند به طور مثل (صفر و یک یا yes , no)  مسائل طبقه ­بندی دو کلاسه گفته می­شود. مانند مسئله شناسایی ایمیل اسپم که دارای دو برچسب اسپم یا غیر اسپم است. یا در آزمایشات پزشکی، مشخص می شود یک بیمار دارای بیماری خاصی است یا خیر، بنابراین دارای دو برچسب بیمار یا غیر بیمار هستیم. در واقع در طبقه بندی دودویی، همانطور که در شکل زیر می بینید، تعدادی داده­ متعلق به یک کلاس است و تعدادی دیگر متعلق به کلاس دیگر است.

طبقه ­بندی چند کلاسه 

Multi-Class Classification یا طبقه ­بندی چند کلاسه: مسائلی از طبقه ­بندی  را که داده­ ها متعلق به بیش از 2 کلاس باشد را مسائل چند کلاسه، گفته می­شود. به طور مثال، در شکل زیر داده ­ها در 3 کلاس متفاوت قرار دارند. مانند طبقه ­بندی چهره، طبقه بندی گونه ­های گیاهی و غیره که به کلاس­های متفاوتی (بیش از 2 کلاس) تقسیم می­شوند در دسته مسائل طبقه ­بندی چند کلاسه قرار می­گیرد.

 

بررسی یک مثال طبقه­ بندی

فرض می­کنیم دیتاست موجود مربوط به یکی از بانک­ها است. این بانک قصد دارد با بررسی اطلاعات مشتریان خود احتمال پرداخت نکردن وام را بررسی کند. اطلاعات موجود از مشتریان بدین شرح است:”سن”، “جنسیت”،”شغل”، “درامد” که توسط بانک جمع آوری شده است. مشتریان به دو گروه اول که به افرادی که وامشان را پرداخت کرده اند و گروه دوم افرادی که وامشان را پرداخت نکرده اند تقسیم می­شوند. عددها کاملا فرضی و فقط برای بررسی یک مثال می باشد.

کد مشتری سن جنسیت شغل درامد وام پرداخت شده
#1 50 زن معلم 1000 بلی
#2 30 مرد کارمند 800 خیر
#3 45 مرد ازاد 2000 بلی
#4 25 زن کارمند 1200 خیر
#5 55 زن کارمند 850 بلی یا خیر *

* پیش بینی اینکه ایا این مشتری با این مشخصات وام را پرداخت خواهد کرد یا خیر.

همان طور که با نگاهی گذرا به راحتی می توانیم جدول بالا را تفسیر کنیم؛ سطر یک از جدول بالا نشان دهنده این است که شخصی با کد مشتری(#1) یک خانم 50 ساله و معلم است و ماهانه حقوقی به مبلغ 1000 دریافت می­کند و وام دریافتی خود را در زمان مشخص پرداخت کرده است. مقدار ستون اخر را به عنوان برچسب در نظر می­گیریم و در مسئله مشتریان بانک به دو دسته­ ی 0 ,1 تقسیم می­شوند. گروه با برچسب ­0 افرادی هستند که وام خود را پرداخت نکردند و گروه با برچسب 1شامل افرادی است وام خود را پرداخت کرده­اند. این 4 مورد از ۱۰ هزار مشتریِ مختلفی است که در پایگاه داده‌ی بانک ذخیره شده‌اند.

 همان طور که گفتیم این مسئله یک مسئله یادگیری با ناظر است ستونی که مقدار آن حاوی برچسب است که مشخص می­کند که شخص وام را پرداخت می­کند یا خیر این ستون توسط همان ناظر(مثلا رئیس بانک) تهیه شده است که در طبقه­ بندی استفاده می شود. اطلاعات در قالب جدول که در داده­ کاوی به آن ماتریس گفته می­شود نمایش داده شده. هر ستون متعلق به یک شخص است که به آن رکورد یا یک نمونه گفته می­شود. و هر ستون دارای مقادیری است که شامل سن، جنسیت، درامد و شغل است؛ هر کدام از این مقادیر یک ویژگی است و به هر ویژگی در مسائل طبقه­ بندی یک بُعد (Dimension) گفته می­شود.

مسئله ­ی بالا دارای 4 ویژگی است یا به عبارتی 4 بُعدی است. ستون آخر ستون برچسب یا Label است، که مشخص می­کند یک نمونه‌ی خاص، در هر سطر به کدام دسته (Class) تعلق دارد. مسئله فوق یک مسئله دو کلاسه است. سپس بر روی این اطلاعات یکی از الگوریتم های یادگیری ماشین را اعمال می کنیم و از این ماتریس و ویژگی­های آن برای آموزش به ماشین و طبقه ­بندی استفاده می­کنیم. حال اگر رکورد جدیدی بدون برچسب به الگوریتم یادگیری داده­ شود، الگوریتم می­تواند مقدار برچسب آن را تشخیص دهد. هدف از انجام این کار به این صورت است که بانک با بررسی احتمال و پیش ­بینی اینکه آیا مشتری توان پرداخت وام خود را خواهد داشت یا خیر به بررسی شرایط می­پردازد و بر اساس این نتایج می­تواند تصمیم بگیرد با درخواست مشتری خود موافقت کند یا خیر یا پیشنهادات دیگری به مشتری خود ارائه دهد.

با استفاده از این روش می­توان در دیگر مسائل تجاری و مالی نیز از این روش استفاده کرد مانند پیش­بینی ریزش مشتری یا پیشنهاد سبد خرید به مشتری مسائل مشابه هستند که با استفاده از طبقه­ بندی داده می­توان آن را طبق­بندی کرد. اگر به این مبحث علاقمند شدید حتما مقاله “هوش تجاری چیست” را مطالعه فرمایید.

الگوریتم های طبقه بندی داده کاوی

از انواع الگوریتم های طبقه بندی داده کاوی می توان به موارد زیر اشاره کرد:

شبکه‌های عصبی Neural Networks (NN):

در راستای شبیه‌سازی رفتار محاسباتی مغز انسان، کارهای پژوهشی بسیاری از سوی متخصصین علوم رایانه، مهندسین و همچنین ریاضی‌دان‌ها شروع شده است، که نتایج کار آن‌ها، منجر به ایجاد شاخه ­ای در هوش مصنوعی به عنوان “شبکه­ های عصبی” شده است. در مبحث شبکه های عصبی مصنوعی، مدل های ریاضی و نرم‌افزاری متعددی با الهام گرفتن از مغز انسان پیشنهاد شده‌اند.
این شبکه با الهام از شبکه نورون‌های مغز انسان، سعی در توسعه پردازش اطلاعات دارد. در واقع شبکه عصبی کمک می‌کند به‌جای دیکته کردن کاری که باید انجام شود به کامپیوتر (برنامه‌نویسی) خود کامپیوتر را برای دادن واکنش مناسب به اتفاقات آموزش دهیم. هر نورون در این شبکه یک عنصر پردازشی بوده و در کنار دیگر عناصر پردازشی به حل مسائل مختلف می‌پردازد.

درخت تصمیم(DT) Decision Tree :

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

Kنزدیکترین همسایه (KNN):  

در الگوریتم نزدیکترین همسایگی بر اساس داده‌های اولیه، بردارهایی در یک فضای چند بعدی هستند که هر کدام شامل برچسبی به نام دسته می‌باشند. در فاز طبقه‌بندی، k یک ثابت توسط کاربر تعریف می‌شود و بردار بدون برچسب (نقطه تست) از دسته ای است که بیشترین تعداد را در k نزدیک‌ترین همسایه آن نقطه داشته باشد قرار می­دهد. به این ترتیب برچسب نقطه تست نیز مشخص می‌شود. معیار فاصله برای متغیرهای پیوسته معمولاً فاصله اقلیدسی است.

ماشین بردار پشتیبان (SVM) Support Vector Machine :

ماشین بردار پشتیبان، یک دسته ­بند یا مرزی است که با معیار قرار دادن بردارهای پشتیبان (نقاطی انتخاب شده از بین داده ­ها)، بهترین دسته بندی و تفکیک خطی بین داده ها را برای ما مشخص می کند. ماشین بردار پشتیبان به طور قطع یک طبقه بند بسیار قوی برای تفکیک داده ای پیچیده است.

رگرسیون  Regression :

رگرسیون خطی اغلب برای کشف مدل رابطه‌ی خطی بین متغیرها استفاده می‌شود.  در این الگوریتم با استفاده از چند متغییر که مقدار ان­ها مستقل از یک­دیگر است برای پیش­بینی مقدار متغییر­ هدف استفاده می شود. هدف از انجام تحلیل رگرسیون شناسایی مدل خطی بین این متغیرها است.

 

مزیت ­های طبقه­ بندی

مزیت ­های طبقه­ بندی : روش­های مبتنی بر طبقه ­بندی روش­هایی مقرون به صرفه از نظر اقتصادی و کارآمد است و با بکاربردن این روش­ها می­توان اطلاعاتی دقیق و درست بدست آورد چون دانش بدست آمده از روی اطلاعات دقیق و مربوط به همان کسب و کار است. و این دانش باعث ایجاد تحولی بزرگ در دنیای تجارت و تبلیغات خواهد شد. به راستی هوش تجاری چیست؟

کاربردهایی از طبقه ­بندی

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

پردازش تصویر و تشخیص چهره:

یکی از رایج­ترین کاربرد­های یادگیری ماشین شناسایی تصویر است. در موقعیت‌های زیادی نیاز به طبقه­ بندی تصاویر داریم. از یادگیری ماشین نیز می‌توان در شناسایی چهره نیز استفاده کرد. در یک دیتابیس برای هر فرد یک دسته بندی جدا وجود دارد و الگوریتم‌های یادگیری ماشین با توجه به این تصاویر به تشخیص هویت می‌پردازند. از یادگیری ماشین هم چنین در تشخیص دست خط در نوشته های معمولی یا نسخ خطی چاپ شده نیز استفاده می‌شود.

فیلتر کردن  شبکه ­های اجتماعی و ایمیل‌ها:

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

تشخیص پزشکی وبررسی تاثیر دارو:

تشخیص اینکه آیا بیمار مبتلا به یک بیماری است یا خیر و اینکه یک دارو روی دسته ای از افراد مبتلا به یک بیماری اثر می­گذارد یا خیر.

پیش‌بینی آب و هوا:

با استفاده از اطلاعات موجود شرایط جوی از روزهای قبل می­توان وضعیت روزهای کنونی را پیش­بینی کرد. برای مثال فردا باران می‌بارد یا خیر.

بررسی تقلب و جعل:

با داشتن تعداد زیادی از نمونه­ ها مانند نمونه امضا و دست خط می­توان به ماشین­ها به گونه ­ای اموزش داد که  از کلاهبرداری و تقلب جلوگیری کنند و این بسیار در سیستم­های بانکی و مالی پرکاربرد است.

شناسایی صدا:

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

کاربردهایی مانند سيستم هاي پيشنهادگر، مرتب سازي نتايج موتورهاي جستجو، تشخيص چهره خندان براي عکاسي خودکار، همگي نمونه هاي ديگري از کاربردهاي يادگيري ماشين هستند.

 

جایگاه الگوریتم­های طبقه­ بندی در هوش تجاری

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

 

جمع ­بندی مقاله طبقه بندی در داده کاوی

جمع بندی طبقه بندی در داده کاوی:  امروزه انسان کاربردهاي بسيار زيادي از هوش مصنوعي و يادگيري ماشين را در زندگي روزانه خود بکار می­برد. این ابزارها برای این به وجود می­آیند که برای تصمیم­گیری و مشاوره در کنار انسان باشند. بسیاری از کارها را به جای انسان انجام دهند. در سال­های نه چندان دور شاهد پیشرفت هر چه بیشتر سیستم های یادگیری ماشین خواهیم بود.

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

 

نویسنده: تیم پژوهش راهبرد

3/5 - (2 امتیاز)

یک نظر