
تا به امروز نرم افزارهای تجاری و آموزشی فراوانی برای داده کاوی در حوزههای مختلف دادهها به دنيای علم و فناوری عرضه شدهاند. هريک از آنها با توجه به نوع اصلی دادههايی که مورد کاوش قرار ميدهند، روی الگوريتمهای خاصی متمرکز شدهاند. مقايسه دقيق و علمیاين ابزارها بايد از جنبههای متفاوت و متعددی مانند تنوع انواع و فرمت دادههای ورودی، حجم ممکن برای پردازش دادهها، الگوريتمها پياده سازی شده، روشهای ارزيابی نتايج، روشهای مصور سازی [1] ، روشهای پيش پردازش [2] دادهها، واسطهای کاربر پسند [3] ، پلت فرم [4]های سازگار برای اجرا، قيمت و در دسترس بودن نرم افزار صورت گيرد. از آن ميان، نرم افزار Weka با داشتن امکانات بسيار گسترده، امکان مقايسه خروجی روشهای مختلف با هم، راهنمای خوب، واسط گرافيگی کارآ، سازگاری با ساير برنامههای ويندوزی، و از همه مهمتر وجود کتابی بسيار جامع و مرتبط با آن [ Data Mining, witten et Al. 2005 ] ، معرفی ميشود. ميزکار [5] Weka ، مجموعهای از الگوريتمهای روز يادگيری ماشينی و ابزارهای پيش پردازش دادهها ميباشد. اين نرمافزار به گونهای طراحی شده است که ميتوان به سرعت، روشهای موجود را به صورت انعطافپذيری روی مجموعههای جديد داده، آزمايش نمود. اين نرمافزار، پشتيبانيهای ارزشمندی را برای کل فرآيند داده کاوی های تجربی فراهم ميکند. اين پشتيبانيها، آماده سازی دادههای ورودی، ارزيابی آماری چارچوبهای يادگيری و نمايش گرافيکی دادههای ورودی و نتايج يادگيری را در بر ميگيرند. همچنين، هماهنگ با دامنه وسيع الگوريتمهای يادگيری، اين نرمافزار شامل ابزارهای متنوع پيش پردازش دادههاست. اين جعبه ابزار [6] متنوع و جامع، از طريق يک واسط متداول در دسترس است، به نحوی که کاربر ميتواند روشهای متفاوت را در آن با يکديگر مقايسه کند و روشهايی را که برای مسايل مدنظر مناسبتر هستند، تشخيص دهد. نرمافزار Weka در دانشگاه Waikato واقع در نيوزلند توسعه يافته است و اسم آن از عبارت “Waikato Environment for knowledge Analysis” استخراج گشته است. همچنين Weka ، نام پرندهای با طبيعت جستجوگر است که پرواز نميکند و در نيوزلند، يافت ميشود. اين سيستم به زبان جاوا نوشته شده و بر اساس ليسانس عمومیو فراگير [7] GNU انتشار يافته است. Weka تقريباً روی هر پلت فرمیاجرا ميشود و نيز تحت سيستم عاملهای لينوکس، ويندوز، و مکينتاش، و حتی روی يک منشی ديجيتالی شخصی [8] ، آزمايش شده است. اين نرمافزار، يک واسط همگون برای بسياری از الگوريتمهای يادگيری متفاوت، فراهم کرده است که از طريق آن روشهای پيش پردازش، پس از پردازش [9] و ارزيابی نتايج طرحهای يادگيری روی همه مجموعههای داده موجود، قابل اعمال است. نرم افزار Weka ، پياده سازی الگوريتمهای مختلف يادگيری را فراهم ميکند و به آسانی ميتوان آنها را به مجموعههای داده خود اعمال کرد. همچنين، اين نرمافزار شامل مجموعه متنوعی از ابزارهای تبديل مجموعههای دادهها، همانند الگوريتمهای گسسته سازی [10] ميباشد. در اين محيط ميتوان يک مجموعه داده را پيش پردازش کرد، آن را به يک طرح يادگيری وارد نمود، و دستهبندی حاصله و کارآيياش را مورد تحليل قرار داد. (همه اين کارها، بدون نياز به نوشتن هيچ قطعه برنامهای ميسر است.) اين محيط، شامل روشهايی برای همه مسايل استاندارد داده کاوی مانند رگرسيون، ردهبندی، خوشهبندی، کاوش قواعد انجمنی و انتخاب ويژگی ميباشد. با در نظر گرفتن اينکه، دادهها بخش مکمل کار هستند، بسياری از ابزارهای پيش پردازش دادهها و مصورسازی آنها فراهم گشته است. همه الگوريتمها، وروديهای خود را به صورت يک جدول رابطهای [11] به فرمت ARFF دريافت ميکنند. اين فرمت دادهها، ميتواند از يک فايل خوانده شده يا به وسيله يک درخواست از پايگاه دادهای توليد گردد. يکی از راههای به کارگيری Weka ، اعمال يک روش يادگيری به يک مجموعه داده و تحليل خروجی آن برای شناخت چيزهای بيشتری راجع به آن اطلاعات ميباشد. راه ديگر استفاده از مدل يادگيری شده برای توليد پيشبينيهايی در مورد نمونههای جديد است. سومين راه، اعمال يادگيرندههای مختلف و مقايسه کارآيی آنها به منظور انتخاب يکی از آنها برای تخمين ميباشد. روشهای يادگيری Classifier ناميده ميشوند و در واسط تعاملی [12] Weka ، ميتوان هر يک از آنها را از منو [13] انتخاب نمود. بسياری از classifier ها پارامترهای قابل تنظيم دارند که ميتوان از طريق صفحه ويژگيها يا object editor به آنها دسترسی داشت. يک واحد ارزيابی مشترک، برای اندازهگيری کارآيی همه classifier به کار ميرود. پياده سازيهای چارچوبهای يادگيری واقعی، منابع بسيار ارزشمندی هستند که Weka فراهم ميکند. ابزارهايی که برای پيش پردازش دادهها استفاده ميشوند. filter ناميده ميشوند. همانند classifier ها، ميتوان filter ها را از منوی مربوطه انتخاب کرده و آنها را با نيازمنديهای خود، سازگار نمود. در ادامه، به روش به کارگيری فيلترها اشاره ميشود. علاوه بر موارد فوق، Weka شامل پياده سازی الگوريتمهايی برای يادگيری قواعد انجمنی، خوشهبندی دادهها در جايی که هيچ دستهای تعريف نشده است، و انتخاب ويژگيهای مرتبط [14] در دادهها ميشود. 
وکا (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 نوشته شده است. لینک دانلود این کتاب در انتهای متن موجود است. از فصل نهم به بعد این کتاب در خصوص نرم افزار توضیحاتی ارائه شده است.
به منظور مشاهده فهرست تمامی روشهای انتخاب ویژگی در وکا به اینجا مراجعه نمایید.
تحلیل نهایی:
به قول یکی از دوستان “عزیزان در تحلیل نهایی” میتوان گفت که نرم افزار وکا به منظور اجرای مدلهای رده بندی علی رقم سرعت پایین آن، یکی از حرفه ای ترنی نرم افزارهای موجود است. تعداد بیشماری از مقالات منتشر شده تاکنون از این نرم افزار به منظور مدلسازیهای خود استفاده نموده اند. همچنین این نرم افزار با داشتن دامنه وسیعی از روشهای انتخاب ویژگی بسیار مناسب برای تحقیقاتی است که میخواهند از این روشها استفاده کنند. یک ضعف اصلی این نرم افزار عدم وجود تحلیل کافی در خصوص روشهای خوشه بندی است و همچنین عدم وجود شاخصهای ارزیابی برای این روشها است. در نهایت وکا با وجود محیطهای مختلف در کوتاهترین زمان قابل یادگیری است و این یکی از مزیتهای اصلی آن نیز میباشد.
.
.
[thrive_leads id='1265']