- داده کاوی
- زمان 6 دقیقه
تا به امروز نرم افزار های تجاری و آموزشی فراوانی برای داده کاوی در حوزه های مختلف داده ها به دنیای علم و فناوری عرضه شدهاند. هریک از آنها با توجه به نوع اصلی داده هایی که مورد کاوش قرار میدهند، روی الگوریتمهای خاصی متمرکز شدهاند. مقایسه دقیق و علمی این ابزارها باید از جنبه های متفاوت و متعددی مانند تنوع انواع و فرمت داده های ورودی، حجم ممکن برای پردازش داده ها، الگوریتمها پیاده سازی شده، روشهای ارزیابی نتایج، روشهای مصور سازی ، روشهای پیش پردازش داده ها، واسطهای کاربر پسند ، پلت فرم های سازگار برای اجرا، قیمت و در دسترس بودن نرم افزار صورت گیرد. از آن میان، نرم افزار 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 شامل پیاده سازی الگوریتمهایی برای یادگیری قواعد انجمنی، خوشه بندی دادهها در جایی که هیچ دستهای تعریف نشده است، و انتخاب ویژگیهای مرتبط در دادهها میشود.
در ادامه توضیحاتی در خصوص قسمت های مختلف این نرم افزار ذکر شده است و همچنین قابلیت های اصلی آن به صورت جزئی بررسی شده است که با مراجعه به آن ها می توانید بررسی کنید که آیا این نرم افزار به منظور اجرای پروزه شما مناسب می باشد یا خیر.
این پکیج شامل چهار واسط کاربری متفاوت میباشد:
- 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 نوشته شده است.
دیدگاه خود را بیان کنید