دعای ما هنگامه تحویل سال 1390

 

اینک که ظلم و ستم سراسر این دنیا را فرا گرفته و ظالمان با لباس های متفاوت در حال پیروی از امیال نفسانی خود هستند، از او میخواهیم :

ای تغییر دهنده دلها، شکست دهنده  قلب های آهنین، وای روشنگر چشم های بینا امّا نابینا

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

ای تحوّل آفریننده در گردش روزگار و تغییر دهنده حالات در جهان، مخلوقات و انسانها، ای ریشه کن کننده ظلم و ظالم و پیروزی بخش مظلومان در جهان و ای درهم شکننده تاج و تخت ها

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

تغییر من مورد رضای تو نیست، تغییر ما مطلوب توست، اینک ما خواستیم، تو نیز  بخواه تا ریشه کن کنیم بساط ظلم را در جهان

 

 

SOLID

SOLID

وحید نصیری، یک مطلب با عنوان «نمونه سوالات مصاحبه استخدامی» نوشته است که ترجمه‌ای است از New Interview Questions for Senior Software Engineers، نوشته اسکات هنسلمن.

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

آيا مي‌دانيد SOLID چيست؟

در برنامه‌نویسی کامپیوتری، SOLID سرنام کلمات زیر است که توسط رابرت مارتین در اوایل سال ۲۰۰۰ مطرح شد:

Single responsibility

Open-closed

Liskov substitution

Interface segregation

Dependency inversion

لینک منبع

حرف اول سرنام مخفف
S SRP
Single responsibility principle

هر شیء می‌بایست فقط یک مسئولیت داشته باشد

O OCP
Open/closed principle
هر چیزی در نرم‌افزار می‌بایست قابل توسعه دادن باشد (باز)، اما قابل تغییر نباشد (بسته).
L LSP
Liskov substitution principle. See also design by contract.
اشیاء در یک برنامه باید بتوانند با نمونه‌هایی از subtypeهای خود قابل جایگزینی باشند، بدون اینکه بر صحت آن برنامه اثر بگذارد.
I ISP
Interface segregation principle
چند رابط کاربر که مختص به مشتریان متفاوت هستند بهتر از یک رابط کاربر عمومی است.
D DIP
Dependency inversion principle
هر چیز باید به انتزاع وابسته باشد، نه به تعین 

 

به نقل از وبلاگ  دنده معکوس

 

 

توصيف داده‌ها براي داده‌كاوي

 

توصيف داده‌ها براي داده‌كاوي

امير توكلي كاشي ( ceo@raha.co.ir) - مصطفي خرم‌نژادي

پاييز 1384

 

خلاصه

پيش از ساخت مدل‌هايي براي پيش‌بيني، اطلاعات و داده‌ها بايد «توصيف» شوند. اين كار در جهت فهم داده‌ها و برقراري ارتباط بيشتر با داده‌ها ضروري است. در ابتدا اين كار مي‌تواند با ابزاري نظير ميانگين‌گيري، انحراف معيار و آمار توصيفي انجام گيرد. همچنين مي‌توان با بررسي توزيع داده‌ها و يا ساخت جداول متقاطع، ديد مناسب‌تري را از داده‌ها ايجاد كرد.

در مسائل مختلف، داده‌ها به شكل‌هاي متفاوتي وجود دارند. گاهي داده‌ها پيوسته هستند و مي‌توانند هر مقداري داشته باشند (مثل مقدار فروش يك محصول)؛ گاهي نيز مي‌توان داده‌ها را در گروه‌هايي دسته‌بندي كرد (مثل آبي، قرمز و سبز)؛ برخي از داده‌ها قابل ترتيب‌گذاري هستند (مثل بالا / وسط / پايين)؛ داده‌هايي نيز به صورت اسمي و بدون ترتيب و نظم منطقي وجود دارند (مثل كد پستي).

ترسيم گراف و نمايش گرافيكي داده‌ها، ابزاري بسيار مهم و حياتي در آماده‌سازي داده‌ها هستند و اهميت آنها در فرايند تحليل داده‌ها قابل صرف نظر نيست. نمايش گرافيكي داده‌ها به افراد مختلف در بسياري اوقات منجر به فهم جنبه‌هاي جديدي از اطلاعات مي‌شود. برخي از روش‌هاي متداول و مفيد نمايش اطلاعات عبارتند از نمايش هيستوگرام و نمايش جعبه‌اي كه توزيع مقادير را نمايش مي‌دهند. همچنين مي‌توان داده‌ها را به صورت پراكنده در گراف‌هاي دوبعدي و سه‌بعدي ارائه كرد. گراف‌هاي چند بعدي كه با روش‌هاي خاصي اطلاعات بيشتري را در يك گراف نمايش مي‌دهند، به ميزان قابل توجهي در فهم داده‌ها مؤثرند. نمايش گرافيكي اطلاعات به مخاطبين اين امكان را مي‌دهد كه در جنگلي از اطلاعات روي يك درخت متمركز شوند. استفاده از نمايش گرافيكي اطلاعات همچنين در كشف الگوها و روابط حاكم بر اطلاعات و يافتن مقادير استثنايي و مقادير مفقود بسيار راهگشاتر از جداول اعداد و متن هستند.

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

 

خوشه‌بندي

خوشه‌بندي، داده‌ها را به گروه‌هاي مختلفي تقسيم مي‌كند. هدف اصلي در خوشه‌بندي اطلاعات، يافتن گروه‌هايي است كه با يكديگر بسيار متفاوتند و اعضاي آنها بسيار شبيه به يكديگر هستند. در اين كار بر خلاف «طبقه‌بندي اطلاعات»، مشخصات هر گروه در شروع كار براي ما ناشناخته است. از اين رو خوشه‌بندي اطلاعات بايد توسط افراد آگاه و كساني كه در آن زمينه بينش خوبي دارند صورت گيرد. گاهي اوقات نيز لازم است تا برخي از داده‌ها را به دليل ناهمخواني با ساير داده‌ها در خوشه‌بندي وارد نكرد. پس از اينكه با استفاده از داده‌هاي اوليه‌، خوشه‌ها شكل گرفتند و داده‌ها افراز شدند، مي‌توان از اين خوشه‌ها براي «طبقه‌بندي» داده‌هاي جديد استفاده كرد. برخي از روش‌هاي معمولي براي خوشه‌بندي عبارتند از «نقشه‌هاي كوهن» و «ابزار كا».

به ياد داشته باشيد كه نبايد خوشه‌بندي را با افراز اشتبـاه گرفت. افراز به معناي تشخيص گروه‌هاي است كه ويژگي‌هاي خاصي را دارند در حالي كه خوشه‌بندي روشي براي افراز داده‌ها به گروه‌هايي است كه پيشتر تعريف نشده‌اند. همچنين طبقه‌بندي نيز به معناي اختصاص داده‌ها به گروه‌هايي است كه قبلاً ويژگي‌هاي آنها مشخص شده است.

 

تحليل پيوند

«تحليل پيوند» رويكردي توصيفي براي بررسي داده‌هاست كه مي‌تواند براي تشخيص ارتباطات بين داده‌ها به كار گرفته شود. دو روش معمولي براي تحليل پيوند عبارتند از «كشف وابستگي» و «كشف تسلسل». كشف وابستگي، قوانيني را در مورد مسائلي مي‌يابد كه در يك واقعه، با هم رخ مي‌دهند. تحليل «سبد خريد»، يكي از روش‌هاي شناخته شده در «كشف وابستگي» است. «كشف تسلسل» نيز چيزي شبيه به «كشف وابستگي» است، با اين تفاوت كه ارتباطات را در طول زمان بررسي مي‌كند.

ارتباط دو داده به صورت A=>B نمايش داده مي‌شود. A فرض يا طرف چپ و B حكم يا طرف راست خوانده مي‌شود. به عنوان مثال در عبارت «اگر كسي چكش بخرد، ميخ هم مي‌خرد»، فرض «خريد چكش» است و حكم «خريد ميخ».

تشخيص تناسب و وابستگي‌ها در سبد خريد كار دشواري نيست. بررسي تعداد زيادي سبد خريد، به سادگي مي‌تواند ارتباطات را در خريد نشان دهد. كالاهايي كه در تعداد زيادي سبد خريد در كنار يكديگر ديده شده‌اند گوياي «وابستگي» اين كالاها هستند (مثل چكش و ميخ). تعداد دفعات وقوع يك رويداد در مقايسه با كل جامعه‌ي آماري «پشتيباني» ناميده مي‌شود. اگر پشتياني يك رويداد كم باشد (مثلاً يك در ميليون) داده‌هاي مربوطه براي نتيجه‌گيري و بررسي مناسب نيستند.

براي كشف قوانين معني‌دار در ارتباطات داده‌ها، گاهي از عبارات «تناسب» و «اطمينان» استفاده مي‌شود. «تناسب» به اين معني است كه يك واقعه و تركيب آن با وقايع ديگر چند بار اتفاق مي‌افتد. به عنوان مثال بررسي اينكه از بين مشتريان اين فروشگاه، چند نفر چكش خريده‌اند و از اين ميان چند نفر چكش و ميخ را با هم خريده‌اند؟ اين بررسي به ما كمك مي‌كند كه بدانيم "وقتي كسي چكش مي‌خرد، چقدر امكان دارد ميخ هم بخرد؟". راه ديگري براي بررسي اين مسأله استفاده از تعريف «اطمينان» است. اطمينان با استفاده از رابطه‌ي زير محاسبه مي‌شود:

(تعداد وقوع A به تنهايي) / (تعداد وقوع همزمان A و B) = اطمينان

براي توضيح بيشتر اين مسأله از يك مثال استفاده مي‌كنيم:

  • تعداد كل معاملات فروشگاه: 1000
  • مواردي كه شامل چكش بوده: 50
  • مواردي كه شامل ميخ بوده: 80
  • مواردي كه شامل تخته الوار بوده: 20
  • مواردي كه شامل ميخ و چكش بوده: 15
  • مواردي كه شامل ميخ و تخته الوار بوده: 10
  • مواردي كه شامل چكش و تخته الوار بوده: 10
  • مواردي كه شامل هر سه بوده: 5

با توجه به اين موارد مي‌توان گفت:

  • پشتيباني "ميخ و چكش" % 5/1 = 1000/15
  • پشتيباني "ميخ و چكش و تخته الوار" % 5/0 = 1000/5
  • اطمينانِ "چكش =>ميخ" % 30 = 50/15
  • اطمينانِ "ميخ => چكش" % 19 = 80/15
  • اطمينانِ "چكش و ميخ => تخته الوار" % 33 = 15/5
  • اطمينانِ "تخته الوار => چكش و ميخ" % 25 = 20/5

«برآ» معياري ديگر در بررسي وابستگي داده‌ها است. هر قدر برآ بزرگ‌تر باشد، اثر رويداد A در وقوع B بيشتر است. «برآ» به اين صورت محاسبه مي‌شود:

(تعداد وقوع B) / (اطمينان A=>B ) = برآ

در مورد مثال قبلي داريم:

  • برآ ي "چكش => ميخ" 75/3 = % 8 / % 30
  • برآ ي "چكش و ميخ => تخته الوار" 5/16 = % 2 / % 33

الگوريتم‌هاي وابستگي با بررسي داده‌ها و محاسبه‌ي اطمينان و پشتيباني، و با مرتب كردن آنها قوانين حاكم بر داده‌ها را مي‌يابند. بازده الگوريتم‌هاي مختلف در انجام اين محاسبات، معياري براي مقايسه‌ي اين الگوريتم‌هاست. برخي از الگوريتم‌ها، مجموعه‌اي بزرگ از قوانين، ضرايب اطمينان و پشتيباني مختلف را مي‌يابند كه مي‌توانند مورد بررسي قرار بگيرند (به عنوان مثال مي‌توان از آنها خواست كه "تمامي وابستگي‌هايي كه در آنها «بستني» به عنوان حكم است و ضريب اطميناني بيش از %80 و پشتيباني بيش از %2 را دارند" نمايش دهد).

يكي ديگر از توانايي‌هاي مولدين قوانين وابستگي، مشخص كردن سلسله‌مراتب يك موضوع است. در مثال قبلي ما تمامي ميخ‌ها و چكش‌ها را صرف نظر از نوع آنها بررسي كرديم. اگر ما اطلاعات هر كدام از انواع اين محصولات را جداگانه بررسي كنيم، مي‌توانيم نتايج دقيق‌تري را براي هر سطح استخراج نماييم.

به ياد داشته باشيد كه قوانين وابستگي يا تسلسل، قوانيني واقعي نيستند و فقط براي توصيف روابطي كه در يك مجموعه داده وجود دارد به كار مي‌روند. تا كنون روشي رسمي براي ارزيابي مدل‌ها ارائه نشده كه بتوان با استفاده از آن قدرت پيش‌بيني اين قوانين را افزايش داد. اما پيش‌فرض اين است كه روندي كه از گذشته تا كنون وجود داشته در آينده نيز ادامه خواهد يافت.

روش‌هاي گرافيكي براي نمايش پيوندهاي ميان داده‌ها نيز مي‌تواند به كار گرفته شود. در شكل 3 هر كدام از دايره‌ها معرف يك رويداد است. خطوطي هم كه بين اين دايره‌ها وجود دارد نشان‌دهنده‌ي ارتباط بين آنهاست. خطوط ضخيم‌تر نشان‌دهنده‌ي ارتباط بيشتر و قوي‌تر بين آن رويدادهاست.

شكل 1- دياگرام پيوند

 

 

 

http://www.raha.co.ir

 

 

داده‌كاوي - تاريخچه و كاربردها

داده‌كاوي - تاريخچه و كاربردها

امير توكلي كاشي ( ceo@raha.co.ir) - مصطفي خرم‌نژادي

پاييز 1384

مقدمـه

امروزه پايگاه‌هاي داده‌ها بسيار بزرگ شده‌اند و حجم برخي از آنها به بيش از يك ترابايت (هزار گيگابايت) رسيده است. درون اين حجم از داده‌ها اطلاعات راهبردي مهمي به صورت مخفي وجود دارد. اما سؤال اينجاست كه چگونه مي‌توانيد از اين حجم بزرگ داده‌ها يك نتيجه‌ي مفيد به دست آوريد؟

تازه‌ترين راه حل براي استخراج اطلاعات مخفي از درون بانك‌هاي اطلاعاتي، «داده‌كاوي» است كه روشي پربازده و نسبتاً كم‌هزينه مي‌باشد. پيش از اين سازمان‌هاي نوآورِ جهاني، از داده‌كاوي براي مكان‌يابي و جذب مشتري‌هاي با ارزش‌تر و طراحي مجدد محصولات‌شان با هدف فروش بيشتر و كاهش ضررهاي ناشي از اشتباهات يا كلاه‌برداري‌ها استفاده كرده‌اند.

داده‌كاوي فراينديست كه از ابزارهاي متنوع تحليل داده‌ها، براي كشف الگوهـا و ارتباط‌هاي پنهان موجود در داده‌ها استفاده مي‌كند. نتايج داده‌كاوي براي پيش‌بيني رفتار و تحليل روندهاي آينده استفاده مي‌شود.

در فرايند داده‌كاوي با نگاه به گذشته مي‌توان درباره‌ي آينده، پيش‌بيني‌هايي را انجام داد و به سؤال‌هاي تجاري‌اي پاسخ گفت كه روش‌هاي سنتي حل آنها بسيار زمان‌بر بوده و يا حتي در مواردي غيرممكن مي‌نمودند. امروزه در بسياري از شركت‌ها و سازمان‌هاي نوآور از داده‌كاوي براي يافتن و جذب مشتري‌هاي با ارزش‌تر، فروش بيشتر، كاهش ضررهاي ناشي از خطاهاي تجاري يا كلاهبرداري‌ها و طراحي مجدد محصولات استفاده مي‌شود.

اولين و ساده‌ترين قدم در داده‌كاوي، توصيف داده‌هاست. اين كار به طور خلاصه شامل بررسي خواص آماري داده‌ها (مانند متوسط و انحراف استاندارد)، بررسي گرافيكي از طريق گراف‌ها و چارت‌ها و جستجو براي يافتن پيوندهاي پر معني بالقوه در ميان متغييرها (مانند مقاديري كه اغلب با هم رخ مي‌دهند) است. در فرايند داده‌كاوي جمع‌آوري و انتخاب داده‌هاي صحيح، بسيار مهم هستند.

پس از توصيف داده‌ها، در مرحله‌ي بعد بايد براساس الگوهايي كه از نتايج معلوم به دست آمده‌اند يك مدل پيش‌بيني ساخت و آن را بر روي نتايج خارج از نمونه‌ي اوليه آزمايش كرد. هرگز نبايد يك مدل خوب را با واقعيت اشتباه گرفت (زيرا نمي‌توان نقشه‌ي مسير را نماينده‌ي كامل مسير واقعي دانست) اما اين مدل مي‌تواند راهنماي خوبي براي فهميدن برخي فرصت‌ها و تهديدها باشد.

گام آخر داده‌كاوي اين است كه صحت مدل را به طور تجربي تعيين كنيم. براي نمونه، از يك پايگاه داده‌ها كه اطلاعاتي در مورد مشتري‌ها را در خود نگاه مي‌دارد، مدلي براي پيش‌بيني پاسخ مشتري‌ها به پيشنهاد خريد محصولات در آينده ساخته شده است. آيا مي‌توان به پيش‌بيني‌هاي اين مدل اعتماد كرد؟ براي پاسخ به اين پرسش مي‌توان با برخي از مشتري‌هاي احتمالي پيشنهاد را مطرح و نتيجه را بررسي كرد.

 

تاريخچه‌ي داده‌كاوي

تكنيك‌هاي داده‌كاوي نتيجه‌ي يك فرايند طولاني تحقيق و توسعه است. اين تحول از زماني شروع شد كه اطلاعات تجاري براي اولين بار بر روي رايانه‌ها ذخيره شد و همزمان با بهبود در دسترسي به اطلاعات پيشرفت كرد. اين پيشرفت تا جايي ادامه پيدا كرد كه امروزه كاربران مي‌توانند تقريباً بلافاصله پس از جستجو نتايج را بدست آورند و اين در حالي است كه هنوز هم اين پيشرفت‌ها ادامه دارد.

داده‌كاوي به دليل رشد در سه حوزه‌ي زير كاربردي شده است:

· مجموعه‌ي بزرگ داده‌ها: اندازه و حجم پايگاه‌هاي داده به شدت بزرگ شده‌اند و اين رشد هنوز هم ادامه دارد؛

· توان پردازش رايانه‌ها: پردازنده‌هاي قوي‌تر پردازش موازي و پردازش آن‌لاين؛

· الگوريتم‌هاي داده‌كاوي: بيش از ده سال است كه وجود دارند و امروزه بسيار توسعه يافته‌اند.

جدول زير مراحل رشد و توسعه در حوزه‌ي مسائل مرتبط با « اطلاعات» را در حوزه‌هاي «مسائل تجاري»، «فنّـاوري توان‌افزا»، «توليدكنندگان» و «ويژگي‌ها» نمايش مي‌دهد.

قدم تكاملي

مسائل تجاري

فنّـاوري توان‌افزار

توليد كنندگان

ويژگي‌ها

جمع‌آوري اطلاعات (دهه‌ي 1960)

«مجموع سود من در پنج سال اخير چقدر بوده است؟»

رايانه، نوارهاي مغناطيسي، ديسك

آي‌بي‌ام، سي‌دي‌سي

نگاه به گذشته، اطلاعات استاتيكي

دسترسي به اطلاعات (دهه‌ي 1980)

«فروش يك واحد خاص در يك كشور خاص، در ماه گذشته چقدر بود؟»

پايگاه داده‌ي منظم، زبان جستار ساختار يافته، اُدي‌بي‌سي

اراسل، سي‌بييس اينفرميكس، آي‌بي‌ام، مايكروسافت

نگاه به گذشته، اطلاعات ديناميكي در حد آخرين اطلاعات

مخزن اطلاعات و پشتيباني از تصميم (دهه‌ي 1990)

«فروش يك واحد خاص در يك كشور خاص، در ماه گذشته چقدر بود؟ با توجه به شرايط يك واحد ديگر»

پردازش تحليلي آن‌لاين، بانك اطلاعاتي چند بعدي، مخازن اطلاعاتي

پايلوت، كمشير، آربور، كگنوس، ميكرواستراتژي

نگاه به گذشته، اطلاعات ديناميكي در سطوح مختلف

داده‌كاوي (حال حاضر)

«براي فروش يك واحد خاص در ماه آينده چه اتفاقي خواهد افتاد؟ چرا؟»

الگوريتم‌هاي پيشرفته، رايانه‌هاي چندپردازنده‌اي، بانك‌هاي اطلاعاتي بسيار حجيم

پايلوت، لاكهيد، آي‌بي‌ام، اس‌جي‌آي، نيومروس، استارت‌آپس

نگاه به آينده، جستار فعال اطلاعات

 

 

داده‌كاوي چه كاري را نمي‌تواند انجام دهد؟

داده‌كاوي يك ابزار است نه يك عصاي جادويي. داده‌كاوي چيزي نيست كه بر روي پايگاه داده‌ها بنشيند تا چيزهايي كه اتفاق ميفتد را تماشا كند و هر وقت يك الگوي جالب يافت، يك نامه براي شما بفرستد! اين ابزار نمي‌تواند نياز به دانستن داد و ستد و فهميدن داده‌ها يا فهميدن متدهاي تحليلي را رفع كند. داده‌كاوي با يافتن الگوها و ارتباط‌ها در داده‌ها به تحليل‌گر كمك مي‌كند ولي ارزش اين الگوها را بيان نمي‌كند. به علاوه بايد درستي الگوهاي يافت شده اثبات گردد.

بايد به ياد داشت كه رابطه‌هاي پيش‌گويانه لزومـاً سبب يك رفتار يا عمل نمي‌شود. براي نمونه ممكن است الگويي بدين صورت يافت شود كه افراد با درآمد بالا كه مجلات خاصي را مشترك هستند، به احتمال زياد خريدار يك محصول بخصوص نيز خواهند بود. با اينكه مي‌توان با ارزيابي فروش محصولات، اين الگو را بهينه كرد ولي نبايد فرض كرد كه وجود چنين معياري در مـورد يك گروه از افراد سبب خريد آن محصول توسط آنها خواهد شد.

شناخت داده‌ها براي اطمينان از با معني بودن نتايج به دست آمده خيلي مهم است. كيفيت نتايج اغلب به داده‌هاي غير عادي و ستون‌هاي بي‌ربط يا ستون‌هايي كه با هم تغيير مي‌كنند (مانند سن وتاريخ تولد) و روش به رمز درآوردن داده‌ها و داده‌هاي رها شده و داده‌هاي مستثني شده بستگي دارد. الگوريتم‌ها نيز با توجه به نوع داده‌ها تغيير مي‌كنند و لذا عاقلانه نيست كه براي تصميم‌گيري صحيح، فقط به محصولات داده‌كاوي وابسته باشيم.

داده‌كاوي بدون راهنمايي و به صورت خودكار نمي‌تواند راه حل‌ها را بيابد. ممكن است هدف نهايي به جاي فروش بيشتر به افراد، بررسي ويژگي‌هاي مشتري‌هايي باشد كه يك خريد عمده انجام داده‌اند. با داده‌كاوي ممكن است الگوهاي يافت شده براي اين دو هدف بسيار متفاوت باشند.

اگرچه يك ابزار داده‌كاوي خوب، كاربر را از پيچيدگي‌هاي روش‌هاي آماري دور نگاه مي‌دارد، ولي هنوز نياز به دانستن طرز كار ابزارهاي انتخاب شده و الگوريتم‌هاي به كار رفته در آنها وجود دارد. چرا كه تنظيم‌هاي انتخاب شده براي ابزارهاي داده‌كاوي و بهينه‌سازي‌ها بر روي سرعت و دقت مدل اثر مي‌گذارند.

داده‌كاوي جايگزين مديران يا تحليل‌گران ماهر نمي‌شود اما به آنها ابزاري جديد و پرقدرت مي‌دهد تا به سرعت، كارهايي را كه انجام مي‌دهند بهبود دهند. هر شركتي كه داد و ستدها و مشتري‌هايش را مي‌شناسد از الگوهايي استفاده كرده است كه كارمندانش طي ساليان فعاليتشان مشاهده كرده‌اند.كاري كه داده‌كاوي مي‌تواند انجام دهد تأييد مشاهدات تجربي و يافتن چيزهاي جديدي است كه پيشتر ديده نشده بودند.

داده‌كاوي و ذخيره‌سازي داده‌ها

هميشه داده‌هايي كه بايد داده‌كاوي شوند ابتدا بايد از يك مخزن داده‌ها استخراج و به يك پايگاه داده‌ها يا مركز داده‌هاي داده‌كاوي منتقل شود. بهتر است داده‌ها بخشي از يك پايگاه داده‌ها باشد. زيرا كار پاك‌سازي داده‌ها براي يك مخزن داده‌ها و نيز داده‌كاوي خيلي شبيه است. اگر داده‌ها پيش از اين براي يك مخزن داده‌ها پاك‌سازي شده باشند ديگر نيازي به پاك‌سازي بيشتر براي كاوش ندارند. به علاوه بسياري از مشكلات تركيب داده‌ها و نگهداري جايگاه هر داده نيز حل خواهد شد. لازم به ذكر است كه به جاي زيرمجموعه‌اي فيزيكي از مخزن داده‌ها ميتوان از پايگاه داده استفاده كرد.

 

شكل 1- مركز داده‌هاي داده‌كاوي از يك پايگاه داده‌ها استخراج مي‌شوند

داده‌كاوي نيازي به يك مخزن داده‌ها ندارد. نصب يك پايگاه داده‌ي بزرگ كه داده‌ها را از منابع مختلف جمع كند مشكل يكجاسازي داده‌ها را حل مي‌كند. بارگذاري داده‌ها به داخل يك پايگاه داده مي‌تواند كار بزرگي باشد كه در برخي موارد سال‌ها و ميليون‌ها دلار هزينه در بر خواهد داشت. به هر حال مي‌توان داده‌ها را از يك يا چند پايگاه داده استخراج و درون يك پايگاه داده‌ي فقط خواندني ذخيره كرد. اين پايگاه داده‌ي جديد به عنوان نوعي بازار داده عمل مي‌كند.

شكل 2 - مركز داده‌هاي داده‌كاوي از منابع اطلاعاتي عملياتي استخراج مي‌شوند

 

داده‌كاوي و پردازش تحليلي آن‌لاين

يكي از پرسش‌هاي بسيار عمومي حرفه اي‌هاي پردازش داده‌ها درباره تفاوت بين داده‌كاوي و پردازش تحليلي آن‌لاين است. چنانچه خواهيم ديد اين دو، ابزارهاي بسيار متفاوتي هستند كه مي‌توانند يكديگر را كامل كنند.

پردازش تحليلي آن‌لاين، قسمتي از طيف ابزارهاي پشتيباني تصميم‌گيري است كه وظيفه‌ي آن توصيف چيزهايي است كه در يك پايگاه داده وجود دارند. در پردازش تحليلي آن‌لاين، كاربر فرضيه‌اي درباره‌ي يك ارتباط شكل مي‌دهد و درستي آن را با درخواست يك سري از داده‌ها بررسي مي‌كند. براي نمونه يك تحليل‌گر ممكن است بخواهد معيارهايي را تعيين كند كه به پيش‌فرض‌هايي خاص برسد. در ابتدا ممكن است مثلاً اين فرضيه را مطرح كند كه افراد كم درآمد، كم اعتبار نيز هستند و سپس پايگاه داده را با روش پردازش تحليلي آن‌لاين، براي بررسي درسني اين فرضيه تحليل كند. اگر اين فرضيه به وسيله‌ي داده‌ها اثبات نشود تحليل‌گر ممكن است به بدهي بيشتر مانند تعيين ريسك نگاه كند و اگر داده‌ها اين دو حدس را رد كردند ممكن است بدهي و درآمد را با هم تركيب و به عنوان پيش‌بيني كننده‌ي اعتبار پايين آزمايش كند.

به بيان ديگر، در اين روش تحليل‌گر با استفاده از پردازش تحليلي آن‌لاين، يك سري از ارتباط‌ها و الگوهاي فرضي را ايجاد مي‌كند و پس از آن با ارسال درخواست‌هايي به پايگاه داده درستي آنها را بررسي مي‌كند. پردازش تحليلي آن‌لاين، به طور خاص يك فرايند استنتاجي است. اما اگر تعداد متغييرهاي تحليل شونده زياد باشد ديگر اين روش كارايي ندارد. اين مشكل موجب سختي بسيار زياد و زمان‌بر شدن فرايند پيدا كردن يك فرضيه خوب خواهد شد.

اما داده‌كاوي اساساً با پردازش تحليلي آن‌لاين متفاوت است. زيرا بيش از آنكه الگوهاي فرضي تحليل‌گر را بررسي كند از داده‌ها براي كشف الگوها استفاده مي‌كند. به عنوان مثال فرض كنيد بخواهيد مشتري‌هاي خوش‌حساب يك فروشگاه را شناسايي كنيد. اگر اطلاعات كاملي از مشخصات و ويژگي‌هاي مشتري‌ها در دست باشد، يك انسان تحليلگر مي‌تواند با استفاده از روش پردازش تحليلي آن‌لاين، الگوهايي را كه حدس مي‌زند، تحليل و بررسي كند. يك تحليلگر ممكن است حدس بزند كه مي‌بايد رابطه‌اي بين ميزان در‌آمد افراد و خوش‌حسابي آنها وجود داشته باشد و سپس با استفاده از روش پردازش تحليلي آن‌لاين، درستي اين فرضيه و يا چگونگي آن را بررسي كند. اما روش داده‌كاوي، خود به كشف الگوها مي‌پردازد و ممكن است الگوهايي فراتر از حدسيات يك تحليلگر انساني را در مجموعه‌ي اطلاعات بيابد؛ مثلاً رابطه‌اي بين سن افراد و خوش‌حسابي آنها.

به اين ترتيب مي‌توان روش پردازش تحليلي آن‌لاين و داده‌كاوي را مكمل يكديگر دانست. روش پردازش تحليلي آن‌لاين در مراحل اوليه‌ي كشف دانش و به عبارت ديگر در فهم داده‌ها، به كار مي‌رود. به عنوان مثال اين روش در مسائلي نظير تمركز روي داده‌هاي مهم، تشخيص موارد استثنـا و يا تأثيرات متقابل متغيرها مي‌تواند راهگشا باشد و لذا مقدمه‌ي خوبي براي ورود به حوزه‌ي «كشف دانش» از داده‌هاست.

 

داده‌كاوي و روندهاي موجود در سخت‌افزار و نرم‌افزار

يكي از مسائل بسيار تأثيرگذار در رشد داده‌كاوي، تحولات شگرفي است كه در سال‌هاي اخير در حوزه‌ي سخت‌افزارها و نرم‌افزارها رخ داده است. تنها در چند سال اخير قيمت ديسك‌هاي سخت حدود %99 كاهش داشته است. در حالي كه چند سال پيش، قيمت ديسك سخت با حجم هزار گيگابايت چيزي در حدود 10.000.000 دلار بود، امروز اين قيمت به حدود 100.000 دلار رسيده است.

كاهش قيمت پردازشگرها نيز به همين منوال بوده است. با ورود هر نسل از پردازشگرهاي جديد، علاوه بر افزايش قابل ملاحظه‌ي قدرت پردازش، قيمت آنها نيز كاهش مي‌يابد. اين روند به طور مشابه در حافظه‌ي موقت رايانه‌ها نيز به چشم مي‌خورد و علاوه بر كاهش مستمر قيمت آنها، همواره شاهد افزايش حجم حافظه‌ي موقت رايانه‌ها هستيم به طوري كه امروزه رايانه‌هاي شخصي حداقل 64 مگابايت و رايانه‌هاي شبكه‌اي حداقل 256 مگابايت حافظه‌ي موقت دارند. همچنين اين مقدار در سرورها به چند گيگابايت مي‌رسد.

به موازات رشد قدرت هر پردازشگر، ابررايانه‌هايي كه هم كه به طور موازي از چندين پردازشگر بهره مي‌گيرند در حال توسعه هستند. استفاده از چند صد پردازشگر در يك ساختار موازي، ما را قادر به كشف الگوهاي حاكم بر حجم بسيار زيادي از داده‌ها مي‌كند.

از طرفي رشد سيستم‌هاي مديريت منابع اطلاعاتي، نيز به رشد داده‌كاوي كمك مي‌كند. در صورتي كه با يك مسأله‌ي پيچيده در داده‌كاوي موجه باشيم كه نياز به دسترسي سريع و آسان به حجم زيادي از اطلاعات را داشته باشد، سيستم‌هاي مديريت منابع اطلاعاتي، با افزايش سرعت دسترسي به اطلاعات مورد نياز، بسيار گره‌گشـا و مفيد خواهند بود.

با توجه به موارد فوق، به نظر مي‌رسد كه بسياري از سدهايي كه در راه كشف الگوهاي حاكم بر اطلاعات حجيم وجود داشتند از بين رفته‌اند و اين حوزه، در آينده بسيار توسعه خواهد يافت.

 

كاربردهاي داده‌كاوي

داده‌كاوي يكي از زمينه‌هاي در حال توسعه است كه هر روز كاربردهاي آن عموميت بيشتري مي‌يابد. داده‌كاوي از طريق كشف الگوهاي حاكم بر اطلاعات، كمك‌هاي ارزنده‌اي به مديران و تصميم‌گيران براي افزايش سود بنگاه‌ها مي‌نمايد.

بسياري از سازمان‌ها از داده‌كاوي براي تحليل و بررسي چرخه‌ي عمر مشتري‌هايشان استفاده مي‌كنند؛ به عبارت ديگر براي به دست آوردن مشتري‌هاي جديد، افزايش سود از مشتري‌هاي موجود و نگه داشتن مشتري‌هاي خوب. سازمان‌ها با بررسي ويژگي‌هاي مشتري‌هاي خوب (نمودار)، دورنماهاي كاري خود را هدف‌گذاري مي‌كنند؛ با بررسي نمودار مشتري‌هايي كه يك محصول خاص را خريده‌اند، توجه بيشتري به مشتري‌هايي كه آن را محصول را نخريده‌اند مي‌نمايند (فروش متقاطع) و با رسم نمودار مشتري‌هايي كه از دست رفته‌اند، براي نگه داشتن مشتري‌هاي موجود برنامه‌ريزي مي‌كنند (كاهش تكانه يا ايجاد اصطكاك). چرا كه اصولاً نگهداري يك مشتري كم‌هزينه‌تر از جذب مشتري‌هاي جديد است.

داده‌كاوي در بسياري از صنايع كاربرد دارد. شركت‌هاي ارتباطات راه دور و شركت‌هاي كارت اعتباري، از جمله شركت‌هاي پيشرو در حوزه‌ي استفاده از داده‌كاوي هستند. اين شركت‌ها براي يافتن مشتري‌هايي كه از خدمات آنها سوء استفاده و يا كلاهبرداري مي‌كنند، از داده‌كاوي بهره مي‌گيرند. شركت‌هاي بيمه نيز علاقه‌ي زيادي به استفاده از فنّـاوري داده‌كاوي براي كاهش كلاهبرداري‌ها دارند. علاوه بر اينها حوزه‌ي پزشكي زمينه‌ي ديگري است كه داده‌كاوي پتانسيل زيادي براي استفاده شدن در آن را دارد؛ داده‌كاوي مي‌تواند براي پيش‌بيني اثرگذاري روند جراحي، آزمايش‌هاي پزشكي و يا تجويز دارو استفاده شود. داروسازان نيز از داده‌كاوي براي جستجوي پايگاه‌هاي داده در زمينه‌ي تركيب‌هاي شيميايي و مواد ژنتيكي و يافتن راه حل‌هاي تازه در درمان بيماري‌ها استفاده مي‌كنند. خرده‌فروشان نيز از اين فنّـاوري بي‌بهره نيستند. آنها از داده‌كاوي براي تصميم‌گيري در مورد كالاهايي كه مي‌توانند در فروشگاه‌شان عرضه كنند و همچنين براي تعيين نحوه‌ي عرضه‌ي كالا (و حتي چگونگي قرار دادن كالاها در داخل فروشگاه) استفاده مي‌كنند.

 

داده‌كاوي موفق

موفقيت در داده‌كاوي دو كليد اساسي دارد: كليد اول، ايجاد يك فرمولاسيون دقيق از مسأله‌ي مورد بررسي و كليد دوم استفاده از داده‌هاي صحيح است. در واقع شما بايد داده‌هاي موجود و در دسترس و داده‌هايي كه آنها را مي‌خريد را با يك روند منطقي تركيب كنيد تا به داده‌هاي مناسبي برسيد.

بيشتر اوقات، كسي كه مدل اطلاعات را مي‌سازد، مي‌تواند با داده‌ها بازي كند، مدل‌هايي را ارائه كند، نتايج را ارزيابي كند و از نتايج براي ساخت مدلي ديگر براي رسيدن به نتايج بهتر استفاده كند. لذا در اين فرايند، ابزار داده‌كاوي مورد استفاده و خصوصاً تعامل آن با كاربر داراي اهميت ويژه‌اي است و بعضاً اهميت آن از اهميت الگوريتم مورد استفاده بيشتر است.

در حالت مطلوب، ابزار داده‌كاوي (گرافيك/تجسم، جستار/پردازش تحليلي آن‌لاين) مي‌بايد با الگوريتم‌ها يا ابزار تحليلي مناسبي كه مدل‌ها را مي‌سازند به خوبي تركب شوند تا نتايج قابل قبولي حاصل شود.

 

به نقل از http://www.raha.co.ir

 

 

آشنایی با نرم افزار داده کاوی Weka

آشنایی با نرم افزار داده کاوی Weka

 

مقدمه

  تا به امروز نرم افزارهاي تجاري و آموزشي فراواني براي داده كاوي در حوزه هاي مختلف داده ها به دنياي علم و فناوري عرضه شده اند. هريك از آنها با توجه به نوع اصلي داده هايي كه مورد كاوش قرار ميدهند، روي الگوريتمهاي خاصي متمركز شده اند. مقايسه دقيق و علمي اين ابزارها بايد از جنبه هاي متفاوت و متعددي مانند تنوع انواع و فرمت داده هاي ورودي، حجم ممكن براي پردازش داده ها، الگـوريتمهای پياده سـازي شده، روشهاي ارزيابي نتايج، روشهاي مصـور سـازي، روشهاي پيش پردازش داده ها، واسطهاي كاربر پسند، پلت‌فرمهاي سازگار براي اجرا،قيمت و در دسترس بودن نرم افزار صورت گيرد. از آن ميان، نرم افزار Weka با داشتن امكانات بسيار گسترده،امكان مقايسه خروجي روشهاي مختلف با هم، راهنماي خوب، واسط گرافيگي كارا، سازگاري با ساير برنامه هاي ويندوزي، و از همه مهمتر وجود كتابي بسيار جامع و مرتبط با آن [Data Mining, witten et Al. 2005 ] ، معرفي ميشود.

 

1- معرفی نرم افزار Weka

ميزكارWeka ، مجموع‌هاي از الگوريتمهاي روز يادگيري ماشيني و ابزارهاي پيش پردازش داده‌ها ميباشد. اين نرم‌افزار به گونه‌اي طراحي شده است كه ميتوان به سرعت، روشهاي موجود را به صورت انعطافپذيري روي مجموعه‌هاي جديد داده، آزمايش نمود. اين نرم‌افزار، پشتيباني‌هاي ارزشمندي را براي كل فرآيند داده كاوي هاي تجربي فراهم ميكند. اين پشتيباني‌ها، آماده سازي داده‌هاي ورودي، ارزيابي آماري چارچوبهاي يادگيري و نمايش گرافيكي داده‌هاي ورودي و نتايج يادگيري را در بر ميگيرند. همچنين، هماهنگ با دامنه وسيع الگوريتمهاي يادگيري، اين نرم‌افزار شامل ابزارهاي متنوع پيش پردازش داده‌هاست. اين جعبه ابزار متنوع و جامع، از طريق يك واسط متداول در دسترس است، به نحوي كه كاربر ميتواند روشهاي متفاوت را در آن با يكديگر مقايسه كند و روشهايي را كه براي مسايل مدنظر مناسبتر هستند، تشخيص دهد.

نرم‌افزار Weka در دانشگاه Waikato واقع در نيوزلند توسعه يافته است و اسم آن از عبارت"Waikato Environment for knowledge Analysis" استخراج گشته است. همچنين Weka ، نام پرندهاي با طبيعت جستجوگر است كه پرواز نميكند و در نيوزلند، يافت ميشود. (شکل زیر)

اين سيستم به زبان جاوا نوشته شده و بر اساس ليسانس عمومي و فراگير GNU انتشار يافته است.Weka تقريباً روي هر پلت فرمي اجرا ميشود و نيز تحت سيستم عاملهاي لينوكس، ويندوز، و مكينتاش، و حتي روي يك منشي ديجيتالي شخصي، آزمايش شده است.

اين نرم افزار، يك واسط همگون براي بسياري از الگوريتمهاي يادگيري متفاوت، فراهم كرده است كه از طريق آن روشهاي پيش پردازش، پس از پردازش و ارزيابي نتايج طرح هاي يادگيري روي همه مجموعه هاي داده موجود، قابل اعمال است.

نرم افزار Weka ، پياده سازي الگوريتمهاي مختلف يادگيري را فراهم ميكند و به آساني ميتوان آنها را به مجموعه هاي داده خود اعمال كرد.

  همچنين، اين نرم افزار شامل مجموعه متنوعي از ابزارهاي تبديل مجموعه‌هاي داده ها، همانند الگوريتمهاي گسسته سازي ميباشد. در اين محيط ميتوان يك مجموعه داده را پيش پردازش كرد، آن را به يك طرح يادگيري وارد نمود، و دسته‌بندي حاصله و كارآيي‌اش را مورد تحليل قرار داد.( همه اين كارها، بدون نياز به نوشتن هيچ قطعه برنامه‌اي ميسر است.)

  اين محيط، شامل روشهايي براي همه مسايل استاندارد داده كاوي مانند رگرسيون، رده‌بندي، خوشه‌بندي، كاوش قواعد انجمني و انتخاب ويژگي ميباشد. با در نظر گرفتن اينكه، داده‌ها بخش مكمل كار هستند، بسياري از ابزارهاي پيش پردازش داده‌ها و مصورسازي آنها فراهم گشته است. همه الگوريتم ها، وروديهاي خود را به صورت يك جدول رابطهاي به فرمت ARFF دريافت ميكنند. اين فرمت داده‌ها، ميتواند از يك فايل خوانده شده يا به وسيله يك درخواست از پايگاه دادهاي توليد گردد.

يكي از راههاي به كارگيري Weka ، اعمال يك روش يادگيري به يك مجموعه داده و تحليل خروجي آن براي شناخت چيزهاي بيشتري راجع به آن اطلاعات ميباشد. راه ديگر استفاده از مدل يادگيري شده براي توليد پيشبيني‌هايي در مورد نمونه‌هاي جديد است. سومين راه، اعمال يادگيرنده‌هاي مختلف و مقايسه كارآيي آنها به منظور انتخاب يكي از آنها براي تخمين ميباشد. روشهاي يادگيري Classifier ناميده ميشوند و در واسط تعاملي Weka ، ميتوان هر يك از آنها را از منو انتخاب نمود. بسياري از classifier ها پارامترهاي قابل تنظيم دارند كه ميتوان از طريق صفحه ويژگي‌ها يا object editor به آنها دسترسي داشت. يك واحد ارزيابي مشترك، براي اندازه‌گيري كارآيي همه classifier به كار ميرود.

پياده سازيهاي چارچوبهاي يادگيري واقعي، منابع بسيار ارزشمندي هستند كه Weka فراهم مي كند. ابزارهايي كه براي پيش پردازش داده‌ها استفاده ميشوند Filter ناميده ميشوند. همانند classifier ها، ميتوان filter ها را از منوي مربوطه انتخاب كرده و آنها را با نيازمنديهاي خود، سازگار نمود. در ادامه، به روش به كارگيري فيلترها اشاره ميشود.

  علاوه بر موارد فوق، Weka شامل پياده سازي الگوريتمهايي براي يادگيري قواعد انجمني، خوشه‌بندي داده‌ها در جايي كه هيچ دست‌هاي تعريف نشده است، و انتخاب ويژگيهاي مرتبط در داده‌ها ميباشد.

 

2- روش استفاده از Weka

جهت درک بهتر مطالب این بخش، یک پایگاه داده با فرمت (comma-separated format ) .csv به نام bank-data.csv به عنوان مثال در نظر گرفته میشود. این بانک اطلاعاتی شامل اطلاعاتی در مورد 600 فرد مختلف است که فیلدهای تشکیل دهنده آن به شرح زیر هستند:

3- واسط های Weka

شكل 1،راههاي انتخاب واسط‌هاي مختلف Weka را نشان ميدهد. آسانترين راه استفاده از Weka از طريق واسطي گرافيكي است كه Explorer خوانده ميشود. اين واسط گرافيكي، به وسيله انتخاب منوها و پر كردن فرمهاي مربوطه، دسترسي به همه امكانات را فراهم كرده است. براي مثال، ميتوان به سرعت يك مجموعه داده را از يك فايل ARFF خواند و درخت تصميم‌گيري آن را توليد نمود. اما درختهاي تصميم‌گيري يادگيرنده صرفاً ابتداي كار هستند. الگوريتمهاي بسيار ديگري براي جستجو وجود دارند. واسط Explorer كمك ميكند تا الگوريتمهاي ديگر نيز آزمايش شوند.

شكل 1. Weka در وضعيت انتخاب واسط

 

  اين واسط با در اختيار گذاشتن گزينه‌ها به صورت منو، با وادار كردن كاربر به اجراي كارها با ترتيب صحيح، به وسيله خاكستري نمودن گزينه‌ها تا زمان صحيح به كارگيري آنها، و با در اختيار گذاشتن گزينه‌هايي به صورت فرمهاي پرشدني، كاربر را هدايت ميكند. راهنماي ابزار مفيدي، حين عبور ماوس از روي گزينه‌ها، ظاهر شده و اعمال لازم مربوطه را شرح ميدهد. پيشفرض‌هاي معقول قرار داده شده، كاربر را قادر ميسازند تا با كمترين تلاشي، به نتيجه برسد. اما كاربر بايد براي درك معني نتايج حاصله، راجع به كارهايي كه انجام ميدهد، بينديشد.

 Wekaدو واسط گرافيكي ديگر نيز دارد. واسط knowledge flow به كاربر امكان ميدهد تا چنيش‌هايي براي پردازش داده‌هاي در جريان، طراحي كند. يك عيب پايهاي Explorer نگهداري هر چيزي در حافظه اصلي آن است. (زماني كه يك مجموعه داده را باز ميكنيم، Explorer ، كل آن را، در حافظ باز ميكند) نشان ميدهد كه Explorer ، صرفاً براي مسايل با اندازه‌هاي كوچك تا متوسط، قابل اعمال است. با وجود بر اين Weka شامل تعدادي الگوريتمهاي افزايشي است كه ميتواند براي پردازش مجموعه هاي داده بسيار بزرگ مورد استفاده قرار گيرد. واسط knowledge flow امكان ميدهد تا جعبه‌هاي نمايانگر الگوريتمهاي يادگيري و منابع داده‌ها را به درون صفحه بكشيم و با اتصال آنها به يكديگر، تركيب و چينش دلخواه خود را بسازيم. اين واسط اجازه ميدهد تا جريان دادهاي از مؤلفه‌هاي به هم متصل كه بيانگر منابع داده، ابزارهاي پيش پردازش، روشهاي ارزيابي و واحدهاي مصوّر سازي هستند تعريف شود. اگر فيلترها و الگوريتمهاي يادگيري، قابليت يادگيري افزايشي را داشته باشند، داده‌ها به صورت افزايشي بار شده و پردازش خواهند شد.

  سومين واسط Weka ، كه Experimenter خوانده ميشود، كمك ميكند تا به اين سؤال عملي و پايهاي كاربر حين استفاده از تكنيكهاي رده‌بندي و رگرسيون، پاسخ دهد: «چه روشها و پارامترهايي براي مسأله داده شده، بهتر عمل ميكنند؟ »

  عموماً راهي براي پاسخگويي مقدماتي به اين سؤال وجود ندارد و يكي از دلايل توسعهWeka ، فراهم نمودن محيطي است كه كاربران Weka را قادر به مقايسه تكنيكهاي گوناگون يادگيري بنمايد. اين كار، ميتواند به صورت تعاملي در Explorer انجام شود. با اين وجود، Experimenter با ساده كردن اجراي رده‌بندي كننده‌ها و فيلترها با پارامترهاي گوناگون روي تعدادي از مجموعه‌هاي داده، جمع‌آوري آمار كارآيي و انجام آزمايـشهاي معنا، پردازش را خودكار ميكند. كـاربرهاي پيشرفته، ميتوانند از Experimenter براي توزيع بار محاسباتي بين چندين ماشين، استفاده كنند. در اين روش، ميتوان آزمايشهاي آماري بزرگي را راه‌اندازي نموده و آنها را براي اجرا، رها نمود.

  وراي اين واسطهاي تعاملي، عملكرد پايهاي Weka قرار دارد. توابع پايهاي Weka ، از طريق خط فرمانهاي متني قابل دسترسي هستند. زماني كه Weka ، فعال ميشود، امكان انتخاب بين چهار واسط كاربري وجود داردExplorer ، knowledge ،Experimenter و واسط خط فرمان. اكثر كاربران، حداقل در ابتداي كار Explorer را به عنوان واسط كاربري انتخاب ميكنند.

 

 

3-1 واسط Explorer

واسط گرافيكي اصلي براي كاربران، Explorer است كه امكان دسترسي به همه امكانات Weka را از طريق انتخاب منوها و پر كردن فرمها فراهم ميآورد. شكل 2،نماي Explorer را نشان ميدهد. در اين واسط، شش پانل مختلف وجود دارد كه از طريق نوار بالاي صفحه قابل انتخاب هستند و با وظايف داده كاوي پشتيباني شده توسط Weka متناظر ميباشند.

  شكل 2. واسط گرافيكي Explorer

 

به طور خلاصه، كاركرد تمام گزينه ها به شرح ذيل است.

  •  Preprocess: انتخاب مجموعه داده و اصلاح آن از راههاي گوناگون
  •  Classify: آموزش برنامه‌هاي يادگيري كه رده‌بندي يا رگرسيون انجام ميدهند و ارزيابي آنها
  •  Cluster: يادگيري خوشه‌ها براي مجموعه هاي داده
  •  Associate: يادگيري قواعد انجمني براي داده‌ها و ارزيابي آنها
  •  Select attributes: انتخاب مرتبط‌ترين جنبه ها در مجموعه هاي داده
  •  Visualize: مشاهده نمودارهاي مختلف دوبعدي داده‌ها و تعامل با آنها

در بخشهای بعدی به تشریح گزینه‌های مذکور و بیان جزئیات کار با هرکدام خواهم پرداخت.

Weka Explorer امكان رده بندي دارد، چنانچه به كاربران اجازه ميدهد به صورت تعاملي اقدام به ساخت درخت تصميم‌گيري كنند. Wekaنمودار پراكندگي داده‌ها را نسبت به دو ويژگي انتخاب شده، فراهم ميآورد. وقتي زوج ويژگي‌اي كه رده‌ها را به خوبي جدا ميكند، پيدا شد، امكان ايجاد دو شاخه با كشيدن چند ضلعي اطراف نقاط داده‌ها بر نمودار پراكندگي وجود دارد.

هر نوار، دسترسي به دامنه كاملي از امكانات را فراهم ميكند. در پايين هر پانل، جعبه status و دكمه log قرار دارد. جعبه status پيغامهايي است كه نشان ميدهد چه عملياتي در حال انجام داده شدن است. مثلاً اگر Explores مشغول خواندن يك فايل باشد، جعبه status آن را گزارش ميدهد. كليك راست در هر جا داخل اين جعبه يك منو كوچك با دو گزينه ميآورد، نمايش ميزان حافظه در دسترس Weka و اجراي Java garbage collector .

لازم است توجه شود كه garbage collector به طور ثابت به عنوان يك عمل پيش زمينه در هر حال اجرا ميشود كليك دكمه log ، گزارش عملكرد متني كارهايي كه Weka تاكنون در اين بخش انجام داده است با برچسب زماني ارايه ميكند.

زمانيكه Weka در حال عمليات است، پرنده كوچكي كه در پايين سمت راست پنجره است، بالا و پايين ميپرد. عدد پشت × نشان ميدهد كه به طور همزمان چند عمليات در حال انجام است. اگر پرنده بايستد در حاليكه حركت نميكند، او مريض است! اشتباه رخ داده است و بايد Explorer از نو اجرا شود.

 

3-1-1 Preprocess

الف- خواندن و فيلتر كردن فايلها

  در بالاي پانل Preprocess در شكل 2، دكمه‌هايي براي باز كردن فايل، URL ها و پايگاه هاي داده وجود دارد. با کلیک بر روی دکمه open File، در ابتدا تنها فايلهاي با پسوند arff در browser فايل نمايش داده ميشود. براي ديدن ساير فايلها يايد گزينه Format در جعبه انتخاب فايل تغيير داده شود.

  شكل 3. باز کردن فایل

ب- تبديل فايلها به فرمت ARFF

نرم افزار Weka داراي سه مبدل فرمت فايل ميباشد، براي فايلهاي صفحه گسترده با پسوند CSV ، فرمت فايل C4.5 با پسوند .namesو data و براي نمونه هاي سري با پسوند.bsi .

اگر Weka قادر به خواندن داده ها نباشد، سعي ميكند آن را به صورت ARFF تفسير كند. اگر نتواند پیغام نشان داده شده در شكل 4 (الف) ظاهر ميشود. با انتخاب گزینه Use Convertor، پیغام شكل 4 (ب) ظاهر ميشود

شكل4 (الف) پیغام خطا

 

شكل4 (ب) ويرايشگر

شكل4 (ج) اطلاعات بيشتر فشردن دگمه (More)

شكل4 (د) انتخاب يك مبدل فشردن دگمه (Choose)

  اين، يك ويرايشگر عمومي اشياء است كه در Weka براي انتخاب و تنظيم اشيا بكار ميرود. به عنوان مثال وقتي پارامتري براي Classifier تنظيم ميشود، جعبه اي با نوع مشابه بكار برده ميشود. CSV Loader براي فايلهاي با پسوند .CSVبه طور پيش فرض انتخاب ميشود. دكمه More اطلاعات بيشتري در مورد آن ميدهد كه در شكل 4 (ج) نشان داده شده است.

هميشه مطالعه مستندات ارزشمنداست، در اين حالت نشان ميدهد كه رديف نخست صفحه گسترده، نام ويژگي را تعيين ميكند. براي استفاده از اين مبدل بايد بر Ok كليك شود. براي مورد مختلف لازم است بر choose كليك شود تا از ليست شكل 4 (د) انتخاب انجام شود.

  گزينه اول، Arffloader است و فقط به دليل ناموفق بودن به اين نقطه ميرسيم.CSVLoader پيش فرض است و در صورت نياز به فرض ديگر، choose كليك ميشود. دومين گزينه، مربوط به فرمت C4.5 است كه دو فايل براي مجموعه داده وجود دارد يكي اسمها و ديگـري داده هاي واقعـي ميباشد. چهارمين براي نمونه هاي سريالي، براي بازخواني مجموعه داد‌ه‌اي است كه به صورت شيئ سريالي شده جاوا ذخيره شده است. هر شيء در جاوا ميتواند در اين شكل ذخيره و بازخواني شود. به عنوان يك فرمت بومي جاوا، سريعتر از فايل ARFF خوانده ميشود چرا كه فايل ARFF بايد تجزيه و كنترل شود. وقتي يك مجموعه داده بزرگ مكررا بازخواني ميشود، ذخيره آن در اين شكل سودمند است.

  ويژگيهاي ديگر ويرايشگر عمومي اشيا در شكل 4 (ب)، save و open است كه به ترتيب براي ذخيره اشياي تنظيم شده و بازكردن شيئي كه پيش از اين ذخيره شده است، به كار ميرود. اينها براي اين نوع خاص شيئ مفيد نيستند. لكن پانلهاي ديگر ويرايشگر عمومي اشياء، خواص قابل ويرايش زيادي دارند. به دليل مشكلاتي كه ممكن است حين تنظيم مجدد آنها رخ دهد، ميتوان تركيب اشياء ايجاد شده را براي استفاده‌هاي بعدي، ذخيره كرد.

  تنها منبع مجموعه‌هاي داده برايWeka ، فايلهاي موجود روي كامپيوتر نيستند. ميتوان يك URL را باز كرد تا Weka از پروتكل HTTP براي دانلود كردن يك فايل Arff از شبكه استفاده كند. همچنين ميتوان يك پايگاه داده‌ها را باز نمود ( open DB ـ هر پايگاه دادهاي كه درايور اتصال به مجموعه هاي داده به زبان جاوا JDBC را دارد.) و به وسيله دستور select زبان SQL ، نمونه‌ها را بازيابي نمود. داده‌ها ميتوانند به كمك دگمه save به همه فرمتهاي ذكر شده، ذخيره شوند. جداي از بحث بارگذاري و ذخيره مجموعه‌هاي داده، پانل preprocess به كاربر اجازه فيلتر كردن داده‌ها را ميدهد. فيلترها، اجزاي مهم Weka هستند.

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

شكل5. بانک اطلاعاتیbank-data.csv

با کلیک برروی هر کدام از صفات، میتوان اطلاعات آماری اصلی آن را در سمت راست مشاهده نمود. به عنوان مثال شکل 6 از انتخاب فیلد age نتیجه شده است.

نمودار ترسیم شده در سمت راست، پایین، بر اساس دو فیلد است. فیلد دوم به صورت پیشفرض، آخرین فیلد در پایگاه داده است که میتوان آن را به دلخواه تغییر داد.

شكل6. اطلاعات آماری فیلد age

 

ج- به كارگيري فيلترها

با كليك دگمهchoose (گوشه بالا و سمت چپ) در شكل 3 ميتوان به ليستي از فيلترها دست يافت. ميتوان از فيلترها براي حذف ويژگيهاي مورد نظر از يك مجموعه داده و یا انتخاب دستي ويژگيها استفاده نمود. مشابه اين نتيجه را ميتوان به كمك انتخاب ويژگيهاي مورد نظر با تيك زدن آنها و فشار دادن كليه Remove به دست آورد.

شکل 7 مراحل لازم برای حذف فیلد id از بانک اطلاعاتی، با استفاده از روش اول را نشان میدهد.

شكل 6 (الف). انتخاب فیلتر Remove

شكل 6 (ب). وارد کردن شماره فیلد مورد نظر

شكل 6 (ج).انتخاب گزینه Apply و حذف فیلد id

یکی دیگر ازفیلترهای موجود، Discretize است که با استفاده از آن میتوان مقادیریک صفت پیوسته را به تعداد دلخواه بازه گسسته تبدیل کرد. شکل7 مراحل لازم برای شکستن مقادیر صفت age به 3 بازه را نشان میدهد.

شكل7 (الف). انتخاب فیلتر Discretize

شكل7 (ب). وارد کردن شماره فیلد مورد نظر و انجام تنظیمات

شكل 7 (ج).انتخاب گزینه Apply

3-1-2 Classify

الف- الگوریتمهای رده‌بندی

Weka الگوریتمهای classification و prediction بسیار متنوعی را پیاده‌سازی میکند. الگوريتمهای رده‌بندی، به رده‌بندهاي Bayesian، functions،lazy ،meta ، misc، trees و rules تقسيم شده‌اند. جدول شكل 8، ليست اسامي رده بندهاي Weka را نمايش ميدهد.

  شكل 8 (الف). الگوريتمهاي رده بندي در Weka

شكل 8 (ب). الگوريتمهاي رده بندي در Weka

دراین قسمت برخی از اسامی رده‌بندیهای Weka معرفی میشوند.

  •  Trees

ü Decision stumpكه براي استفاده توسط روشهاي boosting طراحي شده است، براي مجموعه‌هاي داده عددي يا رده‌اي، درخت تصميم‌گيري يك سطحي ميسازد. اين الگوريتم، با مقادير از دست رفته، به صورت مقادير مجزا برخورد كرده و شاخه سومي از درخت توسعه ميدهد

  •  Rules
    • ü Decision Tableيك رده‌بندی بر اساس اكثريت جدول تصميم‌گيري ميسازد. اين الگوريتم، با استفاده از جستجوي اولين بهترين، زير دسته‌هاي ويژگيها را ارزيابي ميكند و ميتواند از اعتبارسنجي تقاطعي براي ارزيابي بهره برد. (Kohavi 1995 )
    • يك امكان اين است كه به جاي استفاده از اكثريت جدول تصميم‌گيري كه بر اساس دسته ويژگيهاي مشابه عمل ميكند، از روش نزديكترين همسايه براي تعيين رده هر يك از نمونه‌ها كه توسط مدخل (Entry) جدول تصميمگيري پوشش داده نشده‌اند، استفاده شود.
    • ü   Conjunctive Ruleقاعده‌اي را ياد ميگيرد كه مقادير رده‌هاي عددي را پيشبيني ميكند. نمونه‌هاي آزمايشي به مقادير پيش فرض رده نمونه‌هاي آموزشي، منسوب ميشوند. سپس تقويت اطلاعات (براي ردههاي رسمي)، يا كاهش واريانس (براي ردههاي عددي) مربوط به هر والد محاسبه شده و به روش هرس كردن با خطاي كاهش يافته (Reduced-error pruning) ، قواعد هرس ميشوند.
    • ü  ZeroRبراي رده‌هاي اسمي، اكثريت داده‌هاي مورد آزمايش و براي رده‌هاي عددي، ميانگين آنها را پيشبيني ميكند. اين الگوريتم بسيار ساده است.
    • ü M5Rulesبه كمك M5 از روي درختهاي مدل، قواعد رگرسيون استخراج ميكند.
    •  
    • در اين بخش به شرح مختصري برخي از اين الگوريتم‌ها و پارامترهايشان كه قابليت كار با ويژگي هاي عددي را دارند، پرداخته ميشود. 

  •  Functions
    • ü   Simple Linear Regressionمدل رگرسيون خطي يك ويژگي مشخص را ياد ميگيرد، آنگاه مدل با كمترين خطاي مربعات را انتخاب ميكند. در اين الگوريتم، مقادير از دست رفته و مقادير غيرعددي مجاز نيستند.
    • ü Linear Regressionرگرسيون خطي استاندارد با كمترين خطاي مربعات را انجام ميدهد و ميتواند به طور اختياري به انتخاب ويژگي بپردازد، اين كار ميتواند به صورت حريصانه، با حذف عقب رونده (Backward elimination) انجام شود، يا با ساختن يك مدل كامل از همه ويژگيها و حذف يكي يكي جمله‌ها با ترتيب نزولي ضرايب استاندارد شده آنها، تا رسيدن به شرط توقف مطلوب انجام گيرد.
    • ü   Least Med sq يك روش رگرسيون خطي مقاوم است كه به جاي ميانگين مربعات انحراف از خط رگرسيون، ميانه را كمينه ميكند. اين روش به طور مكرر رگرسيون خطي استاندارد را به زيرمجموعه‌هايي از نمونه‌ها اعمال ميكند و نتايجي را بيرون ميدهد كه كمترين خطاي مربع ميانه را دارند.
    • ü   SMOreg الگوريتم بهينه سازي حداقل ترتيبي را روي مسايل رگرسيون اعمال ميكند.
    • ü   Pace Regression ، با استفاده از تكنيك رگرسيون pace ، مدلهاي رگرسيون خطي توليد ميكند. رگرسيونpace ، زماني كه تعداد ويژگيها خيلي زياد است، به طور ويژهاي در تعيين ويژگيهايي كه بايد صرفنظر شوند، خوب عمل ميكند. در واقع در صورت وجود نظم و ترتيب خاصي، ثابت ميشود كه با بينهايت شدن تعداد ويژگيها، این الگوريتم بهـينه عمل ميكند.
    • ü RBF Network يك شبكه با تابع پايهاي گوسي شعاعي را پياده سازي ميكند. مراكز و عرضهاي واحدهاي مخفي به وسيله روش ميانگين (K-means)K تعيين ميشود. سپس خروجيهاي فراهم شده از لايه‌هاي مخفي (Hidden layer) ، با استفاده از رگرسيون منطقي در مورد رده‌هاي اسمي و رگرسيون خطي در مورد رده‌هاي عددي، با يكديگر تركيب ميشوند. فعال سازيهاي توابع پايه پيش از ورود به مدلهاي خطي، با جمع شدن با عدد يك، نرماليزه ميشوند. در اين الگوريتم ميتوان K، تعداد خوشه‌ها، بيشترين تعداد تكرارهاي رگرسيونهاي منطقي براي مسأله‌هاي رده‌هاي رسمي، حداقل انحراف معيار خوشه‌ها، و مقدار بيشينه رگرسيون را تعيين نمود. اگر رده‌ها رسمي باشد، ميانگين K به طور جداگانه به هر رده اعمال ميشود تا K خوشه مورد نظر براي هر رده استخراج گردد.

  •   رده بندهاي Lazy

  ياديگرنده‌هاي lazy نمونه‌هاي آموزشي را ذخيره ميكنند و تا زمان رده بندي هيچ كار واقعي انجام نميدهند.

  • ü   IB1يك يادگيرنده ابتدايي بر پايه نمونه است كه نزديكترين نمونه‌هاي آموزشي به نمونه‌هاي آزمايشي داده شده را از نظر فاصله اقليدسي پيدا كرده و نزديكترين رده‌اي مشابه رده همان نمونه‌هاي آموزشي را تخمين ميزند.
  • ü   IBKيك رده بند با K همسايه نزديك است كه معيار فاصله ذكر شده را استفاده ميكند. تعداد نزديكترين فاصله‌ها (پيش فرض k=1 )، ميتواند به طور صريح در ويرايشگر شيء تعريف شود. پيشبيني‌هاي متعلق به پيش از يك همسايه ميتواند بر اساس فاصله آنها تا نمونه‌هاي آزمايشي، وزندار گردد.
  • دو فرمول متفاوت براي تبديل فاصله به وزن، پياده سازي شده‌اند. تعداد نمونه‌هاي آموزشي كه به وسيله رده بند نگهداري ميشـود، ميتواند با تنظـيم گزيـنه اندازه پنجره محدود گردد. زماني كه نـمونه‌هاي جديد اضافه ميشوند، نمونه‌هاي قديمي حذف شده تا تعداد كل نمونه‌هاي آموزشي در اندازه تعيين شده باقي بماند.
  • ü Kstar يك روش نزديكترين همسايه است كه از تابع فاصلهاي عمومي شده بر اساس تبديلات استفاده ميكند.
  • ü LWL يك الگوريتم كلي براي يادگيري وزن دار شده به صورت محلي است. اين الگوريتم با استفاده از يك روش بر پايه نمونه، وزنها را نسبت ميدهد و از روي نمونه‌هاي وزندار شده، رده‌بند را ميسازد. رده‌بند Nave Bayes، در ويرايشگر شيء LWL انتخاب ميشود. براي مسايل رده بندي و رگرسيون خطي براي مسايل رگرسيون، انتخابهاي خوبي هستند. ميتوان در اين الگوريتم، تعداد همسايه‌هاي مورد استفاده را كه پهناي باند هسته و شكل هسته مورد استفاده براي وزن دار كردن را (خطي، معكوس، يا گوسي) مشخص ميكند، تعيين نمود. نرمال سازي ويژگيها به طور پيش فرض فعال است.

الف- نحوه کار با پانل classify

تا اینجا به صورت تئوری الگوریتمهای رده‌بندی را معرفی کردیم. درادامه با یک مثال عملی نحوه کار با classifier ها را نشان میدهیم.

در این قسمت، بانک اطلاعاتی bank-data-final به عنوان فایل نمونه در نظر گرفته میشود. بعد از باز کردن فایل مورد نظر و با کلیک بر روی پانل classify، پنجرهای مطابق شکل 9 باز میشود.

شكل 9 . انتخاب پانل classify

با کلیک دگمه choose در پانل classifyمیتوان الگوريتم رده‌بندی مورد نظر را انتخاب نمود (شکل 10). دراین مثال، الگوریتم J48 را انتخاب میکنیم. زماني كه يك الگوريتم رده‌بندی انتخاب ميشود، نسخه خط فرماني (Command line) رده بند در سطري نزديك به دگمه ظاهر ميگردد. اين خط فرمان شامل پارامترهاي الگوريتم است كه با خط تيره مشخص ميشوند. براي تغيير آنها ميتوان روي آن خط كليك نمود تا ويرايشگر مناسب شيء باز شود (شکل11). در این مثال همان مقادیر پیشفرض را میپذیریم.

شكل 10. انتخاب الگوریتم ردهبندی

شكل 11. تنظیم پارامترهای الگوریتم رده بندی

باکلیک بر روی دکمه start مدل مورد نظر تولید میشود (شکل12).

شكل 12. مدل حاصل از اجرای الگوریتم رده بندی

با راست کلیک بر روی مجموعه جواب در پانل Result list در سمت چپ میتوان نتیجه را در پنجرهای جداگانه، و یا شکل گرافیکی درخت حاصل از رده بندی را مشاهده نمود. (شکل 13) توجه کنید که در شکل 13(ب) باراست کلیک برروی یک قسمت خالی ازصفحه میتوان نحوه نمایش درخت را به دلخواه تنظیم کرد.

شكل 13(الف)

شكل 13(ب). درخت حاصل از رده بندی

3-1-3 Cluster

فایل نمونه مورد استفاده در این قسمت bank-data.csv است که در مرحله preprocess فیلد id را از آن حذف میکنیم (شکل14).

شكل 14. بارگذاری فایل نمونه

میشود. بعد از باز کردن فایل مورد نظر و با کلیک بر روی پانل cluster پنجرهای مطابق شکل 15 باز میشود.

شكل 15 . انتخاب پانل cluster

Weka الگوریتمهای خوشه‌بندی (clustering) متنوعی را پیاده‌سازی میکند. با کلیک دگمه choose در پانل cluster میتوان الگوريتم خوشه‌بندی مورد نظر را انتخاب نمود (شکل 16). دراین مثال، الگوریتم SimpleKMeans را انتخاب میکنیم. زماني كه يك الگوريتم خوشه‌بندی انتخاب ميشود، نسخه خط فرماني الگوریتم خوشه‌بندی در سطري نزديك به دگمه ظاهر ميگردد. اين خط فرمان شامل پارامترهاي الگوريتم است كه با خط تيره مشخص ميشوند. براي تغيير آنها ميتوان روي آن خط كليك نمود تا ويرايشگر مناسب شيء باز شود (شکل17). در این مثال تعداد کلاسترها را 6 تا تنظیم میکنیم.

شكل 16. انتخاب الگوریتم خوشه‌بندی

شكل 17. تنظیم پارامترهای الگوریتم خوشه‌بندی

باکلیک بر روی دکمه start مدل مورد نظر تولید میشود (شکل18).

شكل 18. مدل حاصل از اجرای الگوریتم خوشه‌بندی

با راست کلیک بر روی مجموعه جواب در پانل Result list در سمت چپ-پایین و انتخاب گزینه‌ی "View in separate window "میتوان نتیجه را در پنجرهای جداگانه مشاهده نمود (شکل 19). همانطور که میبینید، اطلاعات آماری مربوط به هرکلاستر، از جمله مرکز ثقل هر کلاستر، تعداد و درصد اعضای هر کلاستردر این پنجره قابل مشاهده است.

شكل 19. نتیجه حاصل از اجرای الگوریتم خوشه‌بندی

روش دیگر برای کسب اطلاعات در مورد هرکلاستر، مصورسازی است. با راست کلیک بر روی مجموعه جواب در پانل Result list در سمت چپ و انتخاب گزینهی " Visualize cluster assignments" پنجرهای مطابق شکل20(الف) باز میشود. انتخابهای مختلف برای هرکدام از سه بعد نمودارحاصل (محور X، محور Y، رنگ) نمودارهای مختلفی را نتیجه میدهد که میتوان از آنها اطلاعات مورد نظر را بدست آورد.به عنوان مثال در شکل20(ب)، محور Xها نماینده شماره کلاستر، محور Yها نماینده شماره نمونه در بانک اطلاعاتی، و رنگها نماینده جنسیت هستند (قرمز: مرد، آبی: زن). همانطورکه مشاهده میشود کلاستر2 بیشتر توسط زنان احاطه شده است و کلاستر4 توسط مردان.

شكل20 (الف)

شكل20 (ب) مصورسازی نتیجه حاصل از clustering

علاوه بر این ممکن است علاقه‌مند باشیم که بدانیم هر نمونه در بانک اطلاعاتی، به کدام کلاستر اختصاص داده شده است. برای این منظور در پنجره شکل 20(ب)، گزینه save را انتخاب میکنیم و فایل مورد نظر را با نام " bank-data-Kmeans" ذخیره میکنیم. فایل حاصل رامیتوان از طریق یک نرم‌افزار پردازش متن مثل Notepad یا word باز کرد. بخش ابتدایی این فایل در شکل21 نشان داده شده است. همانطورکه مشـاهده میکنید، Weka ویژگی جدیدی به نام Cluster را به مجموعه ویژگیهای موجود اضافه کرده است.

شكل21. نتیجه اختصاص نمونه‌ها به کلاسترها

3-1-4 Associate

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

فایل نمونه مورد استفاده در این بخش bank-data-final.arff است که در مرحله preprocess فیلد id از آن حذف شده و مقادیرصفات age و income به صورت گسسته در آمده است (شکل22).

شكل 22. بارگذاری فایل نمونه

بعد از باز کردن فایل مورد نظر و با کلیـک بر روی پانل Associate پنجره‌ای مطـابق شکـل23 باز میشود.

شكل 23 . انتخاب پانل Associate

Weka الگوریتمهای association متفاوتی را پیاده‌سازی میکند. با کلیک دگمه choose در پانل Associate میتوان الگوريتم association مورد نظر را انتخاب نمود (شکل 24). دراین مثال، الگوریتم Apriori را انتخاب میکنیم. زماني كه يك الگوريتم انتخاب ميشود، نسخه خط فرماني آن الگوریتم در سطري نزديك به دگمه ظاهر ميگردد. اين خط فرمان شامل پارامترهاي الگوريتم است كه با خط تيره مشخص ميشوند. براي تغيير آنها ميتوان روي آن خط كليك نمود تا ويرايشگر مناسب شيء باز شود (شکل25). در این مثال همان پارامترهای پیشفرض را میپذیریم.

 

شكل 24. انتخاب الگوریتم association

شكل 25. تنظیم پارامترهای الگوریتم association

با کلیک بر روی گزینه More در شکل25، میتوان توضیحات لازم را درمورد هر کدام از پارامترها بدست آورد. شکل26 این توضیحات را نشان میدهد.

شكل 26. توضیحات بیشتردر مورد پارامترهای الگوریتم Apriori

بعد از تنظیم پارامترهای مورد نظر، با کلیک بر روی گزینه start، قوانین بدست آمده که بر اساس metric Type مرتب شده‌اند در صفحه اصلی نمایش داده میشوند.(شکل27)

شكل 27. نتیجه اجرای الگوریتم Apriori

با راست کلیک بر روی مجموعه جواب در پانل Result list در سمت چپ و انتخاب گزینه‌ی مورد نظر، میتوان نتایج بدست آمده را در پنجره‌ای جداگانه نمایش داد و یا قوانین بدست آمده را به فرمت دلخواه (.csv, .arff, .txt) ذخیره کرد. شکل28 گزینه‌های موجود را نشان میدهد.

شكل 28. ذخیره قوانین بدست آمده

 

 

 

به نقل از   http://www.raha.co.ir/