مقالات فراگیری ماشین داده کاوی معرفی نرم افزار Weka
معرفی نرم افزار Weka

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

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

میزکار 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 شامل پیاده سازی الگوریتم­‏هایی برای یادگیری قواعد انجمنی، خوشه­ بندی داده­‏ها در جایی که هیچ دسته­ای تعریف نشده است، و انتخاب ویژگی‏های مرتبط در داده­‏ها می‏­شود.

در ادامه توضیحاتی در خصوص قسمت های مختلف این نرم افزار ذکر شده است و همچنین قابلیت های اصلی آن به صورت جزئی بررسی شده است که با مراجعه به آن ها می توانید بررسی کنید که آیا این نرم افزار به منظور اجرای پروزه شما مناسب می باشد یا خیر.

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

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

 این پکیج شامل چهار واسط کاربری متفاوت می‌باشد:

  •  Explorer:در این حالت شما می‌توانید روش‌های مختلف آماده‌سازی، تبدیل و الگوریتم‌های مدلسازی بر روی داده‌ها را اجرا کنید.
  • Experimenter: در این حالت فقط امکان اجرای الگوریتم‌های مختلف رده‌بندی به صورت هم‌زمان و مقایسه نتایج آن‌ها وجود دارد. تمامی شاخص‌های مورد نیاز به منظور بررسی مدل‌های رده بندی در این قسمت تعریف شده و قرار دارند و گزارشات مفصلی را از جمله آزمون T می توان در این قسمت پس از مدلسازی استخراج نمود.
  • Knowledge Flow: در این قسمت یک واسط گرافیکی طراحی شده است که مانند نرم افزارهای IBM Modeler و رپیدماینر در آن می توان جریان های داده ای مختلف تولید نمود.
  •  (command line interface (CLI: در این حالت امکان مدلسازی توسط کدنویسی خط به خط قرار دارد.

در وکا داده ها می توانند به فرمت های مختلف از جمله Excel، CSV و Arff باشند. اما به طور کلی این نرم افزار با داده‌ها به فرمت Arff میانه بهتری دارد.

حال شاید بخواهید با قابلیت های نرم افزار بیشتر آشنا شوید. در ادامه عملگرهای مختلف موجود در این نرم افزار تشریح شده اند.

توابع وکا:

  • تبدیل متغیرهای گسسته چند مقداری به دو مقداری و تبدیل متغیرهای پیوسته به گسسته
  • روش‌های نمونه گیری با جایگذاری و بدون جایگذاری و روش‌های پیشرفته تر مانند SMOTE
  • گسسته سازی بدون نظارت و با نظارت
  • نرمالسازی و استانداردسازی
  • روش LOF (Local Outlier Factor) برای پیدا کردن نقاط دورافتاده
  • روش‌های مختلف برای ادغام مقادیر مختلف متغیرهای گسسته
  • جایگذاری مقادیر از دست رفته
  • کاهش بعد داده ‌ها با استفاده از تحلیل اجزای اصلی (PCA) و موجک (Wavelet)
  • به منظور مشاهده فهرست تمامی توابع  آماده‌سازی داده‌ها در وکا به اینجا مراجعه نمایید.

 

خوشه‌بندی در وکا:

  • روش‌های بر پایه مرکز هندسی: kmeans
  • روش‌های بر پایه چگالی: DBSCAN و OPTICS
  • روش‌های سلسله مراتبی
  • روش‌های برپایه توزیع احتمالی مانند EM

 

کشف قواعد انجمنی در وکا:

  • روش Apriori
  • کشف قواعد انجمنی متوالی
  • روش‌های درختی مانند FP growth

 

رده‌بندی معمول و جمعی در وکا:

  • توابع: ماشین بردار پشتیبان (SVM) که توابع کرنل‌های مختلف را پشتیبانی می‌کند، شبکه‌های عصبی و رگرسیون لجستیک
  • درخت‌های تصمیم: الگوریتم‌هایی مانند ID3 و C4.5
  • KNN: روش‌های برپایه حافظه
  • روش‌های بر پایه بیز: بیز ساده و شبکه بیزی
  • روش‌های برپایه قاعده: جداول تصمیم و OneR (توانایی ساخت قوانین بر روی تنها یک متغیر)
  • روش‌های یادگیری Bagging: Stacking، Adaboost، MultiClassClassifier  و تابع CVParameterSelection (به منظور تنظیم پارامترهای موجود در هر الگوریتم با استفاده از ده مرتبه اعتبارسنجی و استفاده از بهترین ترکیب برای ساخت بهترین مدل).
  •  روش های انتخاب متغیرها (ویژگی) در این نرم‌افزار به دو دسته فیلتری و پوشاننده تقسیم بندی شده اند. از میان روش‌های فیلتری موجود می‌توان به روش‌های chi-squared، سود اطلاعاتی، شاخص جینی و روش relief اشاره نموده. همچنین در روش‌های پوشاننده نیز امکان استفاده از روش‌های رده‌بندی وجود دارد. همچنین به منظور جسجوی مجموعه متغیرهای بهینه در روش‌های پوشاننده نیز روش‌های جستجوی متفاوتی ارائه شده است که از جمله آن‌ها می‌توان به  best-first(اولین بهترین ها)، forward selection (انتخاب روبه جلو)، الگوریتم ژنتیک و الگوریتم ازدحام ذرات اشاره نمود.

در نرم افزار وکا همچنین قابلیت کار با مجموعه داده‌های بزرگ و به اصطلاح Big Data وجود دارد. در هنگام مواجه با این مسائل بهترین پیشنهاد استفاده از پکیج command-line می‌باشد. همچنین امکان نوشتن کد مستقیما در جاوا یا زبان‌های بر پایه جاوا مانند Groovy یا Jython نیز وجود دارد.

ویژگی های وکا:

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

 

معایب وکا:

  • زمان‌بر بودن اجرای مدل‌ها به علت عدم بهینه بودن برخی از آنها (در برخی موارد زمان اجرای یک الگوریتم در این نرم افزار در مقایسه با نرم افزاری مانند IBM modeler حتی به ۵ برابر نیز می رسد)
  • محدودیت در منابع آموزشی
  • محدودیت در روش های خوشه بندی و قواعد انجمنی
  • محدودیت شدید در مصورسازی داده ها

برای یادگیری این نرم‌افزار منابع زیادی وجود دارد. یکی از این منابع که قسمت command line و بسیاری از عملگرهای این نرم افزار را به منظور پیش پردازش داده ها و مدلسازی یطور جامع تشریح کرده است توسط  Witten و Frank نوشته شده است.

معرفی نرم افزار Weka
5 (100%) 2 votes
Telegram Facebook WhatsApp +Google Twitter LinkedIn

دیدگاه خود را بیان کنید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

This site uses Akismet to reduce spam. Learn how your comment data is processed.