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


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

 

مقدمه

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

 

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

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

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

Pic-1.jpg

اين سيستم به زبان جاوا نوشته شده و بر اساس ليسانس عمومي و فراگير 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 فرد مختلف است که فیلدهای تشکیل دهنده آن به شرح زیر هستند:

Pic-2.jpg

3- واسط های Weka

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

Pic-3.jpg

شكل 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 متناظر ميباشند.

Pic-4.jpg

  شكل 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 در جعبه انتخاب فايل تغيير داده شود.

Pic-5.jpg

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

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

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

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

Pic-6.jpg

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

Pic-7.jpg

 

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

Pic-8.jpg

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

Pic-9.jpg

شكل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 نشان داده شده است، لیست صفات تشخیص داده شده، در سمت چپ، پایین و اطلاعات پایگاه داده مربوطه در بالای آن نشان داده میشود.

Pic-10.jpg

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

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

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

Pic-11.jpg

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

 

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

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

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

Pic-12.jpg

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

Pic-13.jpg

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

Pic-14.jpg

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

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

Pic-15.jpg

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

Pic-16.jpg

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

Pic-17.jpg

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

3-1-2 Classify

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

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

Pic-18.jpg

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

Pic-19.jpg

شكل 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 باز میشود.

Pic-20.jpg

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

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

Pic-21.jpg

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

Pic-22.jpg

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

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

Pic-23.jpg

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

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

Pic-24.jpg

شكل 13(الف)

Pic-25.jpg

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

3-1-3 Cluster

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

Pic-26.jpg

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

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

Pic-27.jpg

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

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

Pic-28.jpg

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

Pic-29.jpg

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

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

Pic-30.jpg

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

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

Pic-31.jpg

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

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

Pic-32.jpg

شكل20 (الف)

Pic-33.jpg

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

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


مطالب مشابه :


الگوریتم کوکو

تازه ترین الگوریتم فراابتکاری - الگوریتم فاخته - Cuckoo search توی انجمن های ایرانی توی دوران 30 ، 40




دانلود رایگان مقاله ای در مورد الگوریتم بهینه سازی فاخته

http://uozchemistry87.blogfa.com - دانلود رایگان مقاله ای در مورد الگوریتم بهینه سازی فاخته - شیمی محض




عناوین موضوعات پروژه ها

"ارائه الگوریتم جدید جهت از ترکیبی از الگوریتم‌های فاخته و پرنده "؛ 38




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

الگوريتم بهينه سازی فاخته زمانيكه Weka در حال عمليات است، پرنده دراین مثال، الگوریتم




برچسب :