وکا (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 حتی به 5 برابر نیز می رسد)
- محدودیت در منابع آموزشی
- محدودیت در روش های خوشه بندی و قواعد انجمنی
- محدودیت شدید در مصورسازی داده ها
برای یادگیری این نرمافزار منابع زیادی وجود دارد. یکی از این منابع که قسمت command line و بسیاری از عملگرهای این نرم افزار را به منظور پیش پردازش داده ها و مدلسازی یطور جامع تشریح کرده است توسط Witten و Frank نوشته شده است. لینک دانلود این کتاب در انتهای متن موجود است. از فصل نهم به بعد این کتاب در خصوص نرم افزار توضیحاتی ارائه شده است.
دانلود Weka 3.7
نرم افزار وکا یک نرم افزار متن باز است و می توانید آن را از این لینک دانلود نمایید.
- نسخه 32 بیتی: دانلود با حجم 70 مگابایت
- نسخه 64 بیتی: دانلود با حجم 72 مگابایت