داده کاوی

کد متلب دسته بندی و خوشه بندی روی داده های دیتاست بانکی

کد متلب دسته بندی و خوشه بندی روی داده های دیتاست بانکی

وضعیت : موجود

برند :داده کاوی

تعداد بازدید: 32
0 0

در این پست قصد داریم تا کد متلب مربوط به دسته بندی و خوشه بندی را ارائه دهیم.

الگوریتم های دسته بندی مورد استفاده در این پیاده سازی شامل درخت تصمیم و k نزدیک ترین همسایگی هستند

همچنین برای خوشه بندی از الگوریتم معروف Kmeans استفاده میکنیم

 

دیتاست مربوط به اطلاعات بانکی است که شامل 50 نمونه آموزشی و 6 ویژگی به ازای هر نمونه است. همچنین دیتای تست شامل 10 نمونه و در فایلی جداگانه قرار دارد. آدرس دیتاست ها:

http://s8.picofile.com/file/8338064392/TrainData.xlsx.html

http://s8.picofile.com/file/8338064434/TestData.xlsx.html

 

الگوریتم دسته بندی درخت تصمیم:

درخت تصمیم یکی از روش های یادگیری ماشین برای دسته بندی داده هاست. این روش با استفاده از یک ساختار درختی اقدام به دسته بندی (کلاس بندی) داده ها میکند. درخت تصمیم شامل تعدادی نود و تعدادی برگ است که هر نود بیانگر یک ویژگی و هر برگ بیانگر کلاسهای موجود در مسئله است.

در شکل بالا، یک درخت تصمیم را ملاحظه میکنیم که شامل دو کلاس died و servived هست. در نودهای این درخت سه ویژگی مورد بررسی قرار میگیرد که درخت تصمیم با توجه به مقادیر این سه ویژگی اقدام به برچسب گذاری دادها میکند.  این نکته قابل ذکر است که ممکن است در عملیات برچسب گذاری داده ها، از تمامی ویژگی ها برای تصمیم گیری استفاده نشود.

 

الگوریتم دسته بندی k نزدیکترین همسایگی:

این روش یادگیری ماشین، یک روش مبتنی بر مثال است که هیچگونه آموزشی ندارد. به همین دلیل به این روش، روش یادگیری تنبل میگویند. دسته بند k نزدیکترین همسایگی، داده های تست را با توجه به شباهتی که به داده های آموزشی دارند برچسب گذاری میکند. 

 

روش برچسب گذاری به این صورت است که فاصله یک داده تست را با تمامی داده های آموزشی بدست می آورد. سپس k نمونه آموزشی که کمترین فاصله با داده تست دارند را انتخاب میکند. برچسب داده تست، برچسبی خواهد بود که در میان k همسایگی نزدیک بیشترین نمونه را داشته باشد.

نکته مهم در این روش، مقدار k است. به این معنی که چه تعداد همسایگی از اطراف داده تست را انتخاب کنیم و عملیات تصمیم گیری را انجام دهیم زیرا مقادیر مختلف k میتواند برچسب ها را تغییر دهد. این مقدار به طور معمول 3 یا 5 و یا 7 انتخاب میشود. البته میتوان در مورد انتخاب بهترین مقدار k با استفاده از ارزیابی های جانبی، تصمیم بهتری گرفت.

 

الگوریتم خوشه بندی Kmeans:

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

مراحل خوشه بندی به این صورت خواهد بود

1. ابتدا تعداد k نمونه تصادفی از نمونه ها را به عنوان مرکز خوشه انتخاب میکنیم

2. سپس فاصله اقلیدسی هر داده تا این مراکز را محاسبه میکنیم.

3. هر داده به مرکز خوشه ای انتساب داده میشود که از نظر فاصله اقلیدسی کمترین فاصله با آن را داشته باشد.

4. بعد از اینکه تمام داده ها را به مراکز خوشه مناسب انتساب دادیم، حال میانگین هر خوشه را محاسبه میکنیم.

5. میانگین هر خوشه برابر است با مراکز خوشه جدید.

6. اگر مراکز خوشه جدید با مراکز خوشه قبلی یکی بود، الگوریتم پایان میباید. در غیر اینصورت به مرحله 2 میرویم.

 

 

در پایان کار و بعد از اینکه مراکز خوشه دیگر تغییری نداشته باشند، خوشه ها مشخص میشوند. حال اگر یک داده تست داشته باشیم، این داده به خوشه ای تعلق خواهد داشت که از لحاظ فاصله اقلیدسی به مرکز آن خوشه نزدیک تر باشد. نکته مهم در این روش خوشه بندی، مقدار k یا همان تعداد خوشه هاست که باید توسط کاربر تعیین شود. انتخاب بهترین k یک چالش در خوشه بندی است که میتوان با استفاده از روش ها و معیارهایی آن را انتخاب کرد. در این پیاده سازی از معیار CalinskiHarabasz برای تعیین مقدار بهترین خوشه بهره برده ایم.

 

با توجه به توضیحات ذکر شده، کد متلبی را پیاده سازی کرده ایم که روی دیتاست های عملیات دسته بندی (درخت تصمیم و k نزدیکترین همسایگی) را انجام داده و دقت های بدست آمده را به صورت یک نمودار میله ای نشان دهد و سپس عملیات خوشه بندی را انجام داده و با استفاده از معیار CalinskiHarabasz  اقدام به پیدا کردن بهترین مقدار k برای تعداد خوشه ها میکنیم.

 

ویدیوی زیر نحوه اجرای این پیاده سازی را نشان میدهد.

ویدیو نحوه اجرای کد و نمایش خروجی

 

فایل دانلودی، حاوی کدهای متلب به همراه گزارش خط به خط مربوط به کدهاست.

در صورت هر گونه سوال نسبت به کالای مورد نظر، با ایمیل msd.abasian@gmail.com  یا شماره 09132324263 و یا آیدی تلگرام masoudabasian مکاتبه نمایید.

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

با تشکر از حسن اعتماد شما

مسعود عباسیان

کد متلب دسته بندی و خوشه بندی روی داده های دیتاست بانکی

15،000 تومان افزودن به سبد خرید

محل نوشتن دیدگاه شما


تعداد نظرات : 0