تبلیغات
داده كاوی - داده‌كاوی با WEKA (قسمت پایانی)

داده كاوی

سه شنبه 11 شهریور 1393

داده‌كاوی با WEKA (قسمت پایانی)

نویسنده: الی كا   


 
 

در سه بخش نخست این مقاله به بررسی سه نمونه از مهم‌ترین روش‌های معمول در داده کاوی یعنی رگرسیون، طبقه‌بندی و خوشه‌بندی پرداختیم. در ضمن، سعی كردیم با بیان مثال‌هایی کاربرد این روش‌ها را در بررسی یک دیتاست واقعی بیان کنیم. حال نوبت به بررسی روش دیگری می‌رسد که نزدیک‌ترین همسایه (Nearest Neighbor) نام دارد. این روش از یک جنبه بسیار شبیه خوشه‌بندی است، اما از جنبه دیگر مانند طبقه‌بندی و رگرسیون عمل می‌کند. با ما باشید!

از همسایه‌ام بپرسید
برای ژورنالیست‌ها هیچ چیز مهم‌تر از کسب اطلاعات درست نیست. فرض کنید، سردبیر مجله شما عمیقاً علاقه‌مند است تا گزارشی تحلیلی را درباره آقای X تهیه کند. او صرفاً می‌داند که آقای‌X یک خواننده بسیار موفق بوده و البته انسانی تودار است که هیچ بخشی از زندگی شخصی‌اش را لو نمی‌دهد. سردبیر تصمیم می‌گیرد تا این مسئولیت خطیر را به شما واگذار کند. اما چگونه می‌توان از جنبه‌های مختلف زندگی آقای X با خبر شد؟ از آنجا که شما مدرک لیسانس آمار دارید و به سراغ ژورنالیسم آمده‌اید، تصمیم می‌گیرید از روش نزدیک‌ترین همسایه برای یافتن اطلاعات آقای‌X استفاده کنید. ابتدا بحث درآمد مطرح می‌شود. شما می‌دانید که از آقای X چیزی دست شما را نمی‌گیرد. پس به سراغ همسایه ایشان می‌روید که اتفاقاً زوجی بسیار صمیمی هستند. پس از کمی صحبت شما در‌می‌یابید که آن‌ها صد‌هزار دلار در سال درآمد دارند. سپس یک خانه آن طرف‌تر رفته و با آقای Oldman یکی دیگر از همسایه‌های آقای X صحبت می‌کنید و متوجه می‌شوید او نیز درآمدی حدود 110 هزار دلار در سال دارد. با ادامه این روند شما با یک سری داده مواجه می‌شوید که درآمد بسیاری از همسایگان‌X در آن موجود است. شما تصمیم می‌گیرید، درآمد X را نیز معادل میانگین درآمد همسایگانش حدس بزنید. این‌ موضوع که همسایه‌ها وضع مالی به نسبت مشابهی داشته باشند، موضوعی است که عموماً در رابطه با محله‌های مختلف صدق می‌کند.سپس سعی می‌کنید، با علایق جوانی آقای X آشنا شوید. برای این‌کار به سراغ دوستان دبیرستان و دانشگاهش می‌روید. متوجه می‌شوید که درصد بسیاری از این افراد به موسیقی کلاسیک علاقه داشته و شیفته آثار ادبی کلاسیک روسی هستند. این افراد همگی از دوستان بسیار صمیمی X بوده‌اند، پس می‌توان تصور کرد که وی نیز کششی به سمت موسیقی کلاسیک و ادبیات روسیه داشته باشد. حال دوست دارید دریابید، وی طرفدار چه تیم فوتبالی است. در اینجا نیز وی را تا استادیوم تعقیب كرده و سعی می‌کنید، دریابید وی کجا می‌نشیند. با دیدن رنگ پرچم‌ها و پیراهن‌های افراد آن بخش کاملاً مشخص خواهد شد وی طرفدار چه تیمی است، بدون این‌که لازم باشد از او چیزی بپرسید.


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


در اینجا توجه به چند نکته ضروری است. نخست این‌که در روش نزدیک‌ترین همسایه معمولاً سعی می‌شود از نوعی رأی گیری استفاده شود و تنها به نزدیک‌ترین همسایه صرف اعتماد نمی‌شود. به عنوان مثال، از پنج همسایه نزدیک داده‌ها را گرفته و سعی می‌کنیم با توجه به آن‌ها قضاوت کنیم. در همین جا مسئله جدید پیش می‌آید و آن این که باید دقیقاً این کار را برای چند همسایه انجام دهیم. جواب به این سؤال کمی مشکل است و ممکن است به بررسی دقیق نوع داده‌ها و شیوه پخش آن‌ها نیاز داشته باشد. در اینجا شما باید به دنبال تعادلی باشید که در آن کیفیت داده‌ها و هزینه محاسبات هر دو در سطح قابل قبولی قرار گیرند.

شكل 1 - انجام مدل‌سازی با استفاده از روش طبقه‌بندی


به طور طبیعی ما برای اجرای درست روش نزدیک‌ترین همسایه به یک تابع فاصله خوب نیاز داریم. این تابع می‌تواند به سادگی فاصله اقلیدسی باشد یا از روش‌های ساده دیگری مانند فاصله منهتن استفاده شود. این دیگر به انتخاب شما بستگی دارد. معمولاً بخشی از الگوریتم به مشخص‌کردن وزن هر متغیر پیش‌بینی کننده در الگوریتم فاصله اختصاص‌می‌یابد. به این مفهوم که از روی داده‌های تمرینی مشخص می‌شود هر متغیر پیش‌بینی‌کننده‌ای باید با چه ضریبی در فاصله حساب شود. خوشه‌بندی در عوض عموماً وزن تمام متغیرهای پیش‌بینی کننده را یکسان فرض می‌کند. البته، این موضوع می‌تواند بستگی عمیقی به جزئیات پیاده‌سازی دو روش داشته باشد.

نزدیک‌ترین همسایه و WEKA
همان‌طور که گفته شد، از نظر ماهیت نزدیک‌ترین همسایه با طبقه‌بندی و رگرسیون در یک گروه قرار‌می‌گیرد. در واقع می‌توان گفت، این روش به طبقه‌بندی نزدیک‌تر از رگرسیون است، زیرا در رگرسیون شما تنها با داده‌های عددی روبه‌رو هستید. شباهت کاربردی نزدیک‌ترین همسایه و طبقه‌بندی باعث شده در موارد بسیاری این دو به صورت جایگزین یکدیگر به کار روند. به همین دلیل، ما نیز در این مقاله سعی می‌کنیم این دو روش را برای یک دیتاست خاص آزمایش كنیم. شاید بهتر بود که دیتاست این بخش نیز همان دیتاست تایتانیک که در مقاله قبل برای بخش طبقه‌بندی به كار گرفته شد، انتخاب می‌شد. اما دیتاست تایتانیک مشکلات زیادی را در زمینه مدل کردن به وجود می‌آورد. به عنوان مثال، تمام متغیرهای به کار رفته در آن Nominal هستند و این باعث می‌شود مدل‌بندی آن بر‌اساس فاصله کمی مشکل شود. مورد دیگر این است که این دیتاست الگوی غالب محکمی را برای مدل‌سازی افراد غرق شده ارائه نمی‌دهد و این باعث می‌شود True Positive افراد غرق شده به نسبت کم باشد. یعنی تعداد زیادی از افرادی که توسط مدل مرده تشخیص داده شدند، در واقع زنده‌اند!


به همین دلیل، در این مقاله از دیتاست دیگری استفاده می‌کنیم. این دیتاست سعی می‌کند قبول یا عدم قبول درخواست صدور کارت اعتباری را در ایالات‌متحده بر اساس پانزده فاکتور مختلف پیش بینی كند. در اینجا 690 نمونه در‌نظر‌گرفته‌شده‌است. ما سعی خواهیم کرد ابتدا این دیتاست را به وسیله طبقه‌بندی، سپس به وسیله نزدیک‌ترین همسایه مدل‌سازی کنیم تا تفاوت‌ها مشخص شود.از بخش قبلی این سری مقاله‌ها با انجام طبقه‌بندی در WEKA آشنا شده‌اید. در نتیجه، دیگر نیازی به توضیح دوباره روش نیست. با تنظیم 75 درصد از داده‌ها به عنوان مجموعه آموزشی و 25 درصد آن‌ها به عنوان مجموعه آزمایشی نتیجه ذکر شده در شکل 1 به دست خواهد آمد.


نتیجه قابل قبولی است. نزدیک به 87 درصد از داده‌ها به درستی دسته‌بندی شده‌اند. True Positive برای هر دو کلاس + و – که به ترتیب نشان‌دهنده قبول و عدم قبول درخواست کارت اعتباری هستند، به حد کافی بالا است. حال سعی می‌کنیم همین دیتاست را با استفاده از نزدیک‌ترین همسایه مدل‌سازی کنیم.برای این‌کار به مانند روش‌های قبلی ابتدا دیتاست را در WEKA بارگذاری كرده، سپس به بخش Classify می‌رویم. حال نوبت به انتخاب نزدیک‌ترین همسایه است. روی Choose کلیک كرده و از زیرمنوی lazy گزینه IBk را انتخاب کنید. به طور پیش فرض WEKA تعداد همسایه‌هایی را که می‌خواهید در روش نزدیک‌ترین همسایه از آن‌ها رأی‌گیری شود، 1 فرض می‌کند. می‌توانید با کلیک روی بخش کنار دکمه Choose و تنظیم مقدار KNN این عدد را افزایش دهید. فعلاً، بگذارید فعلاً این همان 1 بماند.

شكل 2 - تنظیم WEKA برای اجرای روش نزدیک‌ترین همسایه


حال مطمئن شوید که در Test Options گزینه Use Training set را انتخاب کرده و متغیر نهایی‌تان را نیز برابر متغیری که قصد پیش بینی آن را دارید(در اینجا class) تنظیم كرده‌اید. شکل نهایی باید چیزی شبیه شکل 2 باشد. سپس روی Start کلیک کنید.همان‌طور که مشاهده می‌کنید، فرمت نتیجه نهایی روش نزدیک‌ترین همسایه بسیار شبیه به فرمت نهایی روش طبقه‌بندی است. به خروجی مثال ما که در شکل 3 آمده دقت کنید. در اینجا نزدیک به 99,5 درصد از داده‌ها به درستی دسته‌بندی شده‌اند. همچنین True Positive هر دو دسته + و – بسیار بالا است و این نشان می‌دهد، در پیش‌بینی هر دو نتیجه بسیار موفقیت‌آمیز عمل شده‌است. برای یافتن درک بهتر از شیوه انجام کار به ماتریس Confusion دقت کنید. در اینجا گفته می‌شود، ما در دو مورد پیش‌بینی قبول درخواستی را کرده‌ایم که در واقع قبول نشده است. همچنین در دو مورد دیگر درخواستی را رد کرده‌ایم که باید قبول می‌شده است. محاسبهTrue Positive و False Positive دو مدل که در بالا آمده است از روی این اعداد نیز به سادگی امکان‌پذیر است. شما از مجموع 307 در‌خواست‌پذیرفته شده 305 نمونه را به درستی پذیرفته‌اید، پس True Positive برابر می‌شود با همچنین دو جوابی را که باید قبول نمی‌شده‌اند، به اشتباه پذیرفته‌اید و این False Positive را برابر  که این در واقع False Positive کلاس – است. همین محاسبات را می‌توان برای اعداد ستون دوم نیز تکرار کرد. توجه داشته باشید که ما با استفاده از نزدیک‌ترین همسایه به 99,5 درصد دقت دست یافتیم، در حالی که برای طبقه‌بندی این عدد 87 درصد بود. با این حال 87 درصد نیز تقریبی بسیار خوب محسوب می‌شود. نکته‌ای که در اینجا باید به آن توجه داشته باشید، این است که این ترتیب همیشه به این گونه حفظ نخواهد شد. کاملاً محتمل است که شما تنظیمی از روش طبقه‌بندی در اختیار داشته باشید که روی یک دیتاست خاص بهتر از نزدیک‌ترین همسایه جواب دهد. در نتیجه، برتری این دو روش نسبت به یکدیگر تنها با بررسی مثال خاصی که قصد مدل‌سازی آن را داریم، مشخص خواهد شد. به طور کلی، طبقه‌بندی روی دیتاست‌های بزرگ می‌تواند بسیار پرهزینه باشد. در نتیجه، معمولاً در این موارد ترجیح داده می‌شود از یکی از انواع نزدیک‌ترین همسایه استفاده شود.

 


به عنوان مثال، آمازون را در نظر بگیرید. این سایت برای هر مشتری میزان زیادی از متغیرها را در اختیار دارد که می‌توانند ترکیبی از انواع مختلف مانند Nominal، Numerical و... باشند. همچنین تعداد خود این مشتری‌ها نیز بسیار زیاد است. در نتیجه آمازون  با پایگاه داده عظیمی مواجه است كه اطلاعات فراوانی را درباره افراد گوناگون در خود ذخیره كرده است. در چنین مواردی نزدیک‌ترین همسایه می‌تواند نتیجه بسیار خوبی را تولید كند. اگر شما موجودیت‌های کمی در اختیار داشته یا در مورد هر کدام از موجودیت‌ها اطلاعات محدودی دارید، بهتر است از روش نزدیک‌ترین همسایه استفاده نکنید. همچنین به یاد داشته باشید که حتی پایگاه داده عظیم نیز ممکن است مشکل شما را حل نکند. به همان مثال آمازون برگردیم. این سایت می‌تواند با قطعیت بالایی ادعا کند مشتریان شبیه به هم، خریدهای مشابه انجام می‌دهند. اما ممکن است مسئله شما به این گونه نباشد. یعنی عضو‌های مشابه (توجه کنید که مشابه با معیار شما، یعنی شباهتی که از طریق متغیرهای موجود در مدل‌سازی شما حاصل می‌شود) نتیجه نهایی مشابهی را تولید نکنند. بله؛ داده کاوی چنین مشکلاتی دارد! پس باید خیلی مواظب مسئله خاصی که قصد کاوش آن را دارید باشید.

شكل 3 - خروجی نهایی روش نزدیک‌ترین همسایه

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

نظرات() 
Adult Personals
پنجشنبه 31 مرداد 1398 06:15 ب.ظ
In fact when someone doesn't know then its up to other users
that they will help, so here it occurs.
Claudio
پنجشنبه 31 مرداد 1398 05:55 ب.ظ
Howdy would you mind letting me know which hosting company
you're using? I've loaded your blog in 3 different browsers and I must say
this blog loads a lot faster then most. Can you recommend a good
internet hosting provider at a honest price? Thank you,
I appreciate it!
Coffee Shops
پنجشنبه 31 مرداد 1398 02:03 ب.ظ
Wow, incredible blog layout! How long have you been blogging
for? you make blogging look easy. The overall look of
your website is excellent, let alone the content!
porn videos
پنجشنبه 31 مرداد 1398 01:57 ب.ظ
I do not even understand how I stopped up right here, but I believed this
post used to be good. I do not recognise who you are however
definitely you're going to a well-known blogger in case you aren't already.

Cheers!
바둑이게임
پنجشنبه 31 مرداد 1398 10:15 ق.ظ
Thank you for any other magnificent post. The place else may just anybody get that type of
information in such a perfect method of writing? I've a presentation next week, and I am on the search for such information.
Antigua Catamarans
چهارشنبه 30 مرداد 1398 04:23 ب.ظ
You actually make it seem so easy with your presentation but I find this matter to be actually something that I think I would never understand.
It seems too complicated and very broad for me. I'm looking forward for your
next post, I'll try to get the hang of it!
http://bogdtc.ru/index.php/component/k2/itemlist/user/69190
چهارشنبه 30 مرداد 1398 12:37 ب.ظ
Hey! I just wanted to ask if you ever have any issues with hackers?
My last blog (wordpress) was hacked and I ended up losing several weeks of hard work due to no backup.
Do you have any solutions to prevent hackers?
Delphia
چهارشنبه 30 مرداد 1398 11:22 ق.ظ
My Singing Monsters Hack is hardly tricky to use.
http://dotcustoms.ru/?option=com_k2&view=itemlist&task=user&id=67682
چهارشنبه 30 مرداد 1398 09:52 ق.ظ
I used to be able to find good info from your articles.
Dr Sin Yong
چهارشنبه 30 مرداد 1398 02:13 ق.ظ
This post presents clear idea in support of the new viewers of blogging, that genuinely
how to do running a blog.
사설토토사이트
سه شنبه 29 مرداد 1398 12:52 ب.ظ
What's up to all, it's actually a nice for me to pay a visit this web page, it consists
of precious Information.
home cleaning service hamptons
سه شنبه 29 مرداد 1398 03:46 ق.ظ
Terrific work! That is the kind of information that should be shared across
the web. Disgrace on the search engines for now not positioning this post higher!

Come on over and discuss with my website . Thanks =)
Eric
دوشنبه 28 مرداد 1398 11:50 ب.ظ
Study the Sensible Solar Box test and see.
Best earphones with mic
دوشنبه 28 مرداد 1398 03:41 ب.ظ
Hi! I know this is somewhat off topic but I was wondering which blog platform are you using for
this site? I'm getting fed up of Wordpress
because I've had problems with hackers and I'm looking at
options for another platform. I would be fantastic if
you could point me in the direction of a good platform.
נערות ליווי
دوشنبه 28 مرداد 1398 10:19 ق.ظ
We're having coffee at Nylon Coffee Roasters on Everton Park in Singapore.
I'm having black coffee, he's using a cappuccino. They're
handsome. Brown hair slicked back, glasses that suit his face, hazel eyes and the most beautiful lips I've seen. He is well-built, with incredible arms and a chest
that stands out with this sweater. We're standing in-front
of each other speaking about our way of life, what we'd like
money for hard times, what we're looking for on another person. He starts telling me that he has been rejected a lot of times.


‘Why Andrew? You're so handsome. I'd never reject you ', I have faith that He smiles at me, biting his lip.



‘Oh, I wouldn't know. Everything happens for reasons right.
But inform me, make use of reject me, do you Ana?' He said.


‘No, how could I?' , I replied

"So, utilize mind if I kissed you currently?' he stated as I purchase closer to him and kiss him.

‘Next occasion don't ask, simply do it.' I reply.

‘I favor how you would think.' , he said.

Meanwhile, I start scrubbing my high heel in his leg, massaging it slowly. ‘So what can you wish in females? And, Andrew, don't spare me the details.' I ask.

‘I enjoy determined women. Someone to know whatever they want. Somebody who won't say yes just because I said yes. Someone who's not scared when you attempt something totally new,' he says. ‘I'm never afraid when attemping something totally new, especially when it comes to making a new challenge in bed ', I intimate ‘And I really like women that are direct, who cut throughout the chase, like you may did. To generally be
honest, that's a huge turn on.'
Relaxing Slime
دوشنبه 28 مرداد 1398 12:16 ق.ظ
This info is worth everyone's attention. Where can I find out more?
https://vtc.vn/tuong-go-phong-thuy-lua-chon-qua-tang-duoc-ua-chuong-dip-tet-trung-thu-d427200.html
یکشنبه 27 مرداد 1398 11:46 ب.ظ
I'll immediately seize your rss feed as I can not to find your e-mail subscription link or newsletter service.

Do you have any? Kindly let me understand so that I may
subscribe. Thanks.
https://independent.academia.edu/carlkruscarlkrus
یکشنبه 27 مرداد 1398 09:17 ب.ظ
This post is really a pleasant one it assists new
net people, who are wishing for blogging.
brand management roma
شنبه 26 مرداد 1398 02:09 ب.ظ
Hi there are using Wordpress for your site platform? I'm new to the blog world but I'm trying to get started and set up my own. Do you
need any coding expertise to make your own blog?

Any help would be greatly appreciated!
zalgiris
شنبه 26 مرداد 1398 10:42 ق.ظ
Hi there! This is my 1st comment here so I just wanted to give a quick shout out and say I really
enjoy reading through your posts. Can you recommend any other blogs/websites/forums that cover the same topics?
Thanks a lot!
internet home business
شنبه 26 مرداد 1398 06:13 ق.ظ
Very good site you have here but I was wondering if you knew of any discussion boards that
cover the same topics talked about in this article?
I'd really like to be a part of community where I can get
opinions from other experienced people that share the same interest.
If you have any recommendations, please let me know.
Thanks!
numerous tonneau covers
جمعه 25 مرداد 1398 11:20 ق.ظ
Way cool! Some extremely valid points! I appreciate you penning this post and also the rest of the website is very good.
voice
پنجشنبه 24 مرداد 1398 11:10 ق.ظ
Heya i'm for the first time here. I found this board and I find It really useful & it helped me out
much. I hope to give something back and aid others like you helped me.
REPLICA PURSES
پنجشنبه 24 مرداد 1398 07:42 ق.ظ
Thanks for sharing your info. I truly appreciate your efforts and
I am waiting for your further post thanks once again.
토토사이트
چهارشنبه 23 مرداد 1398 11:43 ب.ظ
Please let me know if you're looking for a article writer for your weblog.

You have some really good posts and I feel I would be a good asset.

If you ever want to take some of the load off, I'd really like to write some material for your blog in exchange
for a link back to mine. Please send me an email if interested.
Kudos!
dog cafes near Nollamara
چهارشنبه 23 مرداد 1398 10:19 ب.ظ
Thanks for your personal marvelous posting! I really enjoyed reading it, you may be a great author.
I will make sure to bookmark your blog and may come back
later in life. I want to encourage that you continue
your great work, have a nice holiday weekend!
Eier von freilaufenden Hühner
چهارشنبه 23 مرداد 1398 09:01 ب.ظ
I'm very pleased to find this page. I wanted to thank you for ones time just for this wonderful read!!
I definitely really liked every little bit of it and
i also have you bookmarked to check out new stuff on your web
site.
사설토토사이트
چهارشنبه 23 مرداد 1398 08:38 ب.ظ
My family all the time say that I am wasting my time
here at net, except I know I am getting know-how everyday by reading
such good articles.
토토사이트
چهارشنبه 23 مرداد 1398 07:36 ب.ظ
Hello to every , because I am truly keen of reading this web site's post to be
updated on a regular basis. It contains good stuff.
black jack
چهارشنبه 23 مرداد 1398 05:39 ب.ظ
Heolo there, I found your blog by the usee of Google even ass searching
for a related subject, your web sitfe cwme up, it seems great.
I have bookmarked it in my goolgle bookmarks.
Hello there, simply became aware off your blog thrtu Google, and found that it's truly informative.

I'm going to be careful for brussels. I'll
appreciate in tthe event you proceed this in future.
Many other folks can be benefited from your writing.
Cheers!
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر
نمایش نظرات 1 تا 30

آمار وبلاگ

  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :