آموزش نرم افزار داده کاوی وکا 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. باز کردن فایل

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

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 (ب) ویرایشگر

  این، یک ویرایشگر عمومی اشیاء است که در 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


/ 2 نظر / 288 بازدید
الهام

عالی بود واقعا ممنون

زهره

[دست]سلام با تشکر از مطلب خوبتون