img

نگاهی گذرا به داده‌ کاوی با Weka

/
/
/

به دلیل فراوانی داده‌ها از منابع مختلف، امروزه داده‌کاوی برای اهداف مختلف آزاردهنده است. Weka مجموعه‌ای از الگوریتم‌های یادگیری ماشین است که می‌توان از آن‌ها برای کارهای مربوط به داده‌کاوی استفاده نمود. وکا یک نرم‌افزار منبع باز است و می‌تواند از طریق رابط گرافیکی، API جاوا و رابط‌های خط فرمان مورد استفاده قرار بگیرد و همین موجب می‌شود تا بسیار متنوع باشد.
Waikato Environment for Knowledge Analysis یا به اختصار Weka یک نرم‌افزار رایگان تحت لیسانس پروانه عمومی همگانی گنو است (GNU General Public License). این نرم‌‌افزار توسط بخش علوم کامپیوتر دانشگاه وایکات، نیوزلند، توسعه یافته است.
وکا مجموعه‌ای از الگوریتم‌های یادگیری ماشین از جمله ابزارهای پردازش داده، الگوریتم‌های طبقه‌بندی و رگرسیون، الگوریتم‌های خوشه‌بندی ، الگورتیم‌های مربوط به یافتن قوانین وابستگی و الگورتیم‌های مربوط به انتخاب ویژگی است.

 

نگاهی گذرا به داده‌ کاوی با Wekaوکا به زبان جاوا نوشته شده و تقریباً در هر پلتفرمی اجرا می‌شود.
نرم‌­افزار Weka در دانشگاه Waikato واقع در نیوزلند توسعه یافته است و اسم آن از عبارت

«Waikato Environment for knowledge Analysis»

استخراج گشته است. همچنین Weka، نام پرنده­ای با طبیعت جستجوگر است که پرواز نمی‏­کند و در نیوزلند، یافت می‏­شود. این سیستم به زبان جاوا نوشته شده و بر اساس لیسانس عمومی و فراگیر GNU انتشار یافته است. Weka تقریباً روی هر پلت فرمی اجرا می‏­شود و نیز تحت سیستم عامل­‏های لینوکس، ویندوز، مکینتاش و حتی روی یک منشی دیجیتالی شخصی، آزمایش شده است.
این نرم‌­افزار، یک واسط همگون برای بسیاری از الگوریتم­‏های یادگیری متفاوت، فراهم کرده است که از طریق آن روش­‏های پیش پردازش، پس از پردازش و ارزیابی نتایج طرح های یادگیری روی همه مجموعه‌های داده­‏ موجود، قابل اعمال است.
نرم افزار Weka، پیاده سازی الگوریتم­‏های مختلف یادگیری را فراهم می‏­کند و به آسانی می‏­توان آنها را به مجموعه‌های داده خود اعمال کرد.
در این محیط می‏­توان یک مجموعه داده را پیش پردازش کرد، آن را به یک طرح یادگیری وارد نمود، و دسته­‌بندی حاصله و کارآیی­اش را مورد تحلیل قرار داد. (همه این کارها، بدون نیاز به نوشتن هیچ قطعه برنامه‌­ای میسر است.)
Weka به عنوان اولین نرم افزار Source Open در داده کاوی از مقبولیت بسیار باالیی در محافل آکادمیک برخوردار می باشد. پشتیبانی از طیف گسترده ای از الگوریتم های داده کاوی آن را به گزینه ای قابل قبول برای انجام پروژه های تحقیقاتی و دانشگاهی مبدل نموده است.
هرچند این ابزار در پشتیبانی از اجرای فرآیند داده کاوی در قالب پروژه های حرفه ای و بلند مدت دارای ضعف های جدی می باشد اما به علت تنوع زیاد در الگوریتم های مدلسازی به عنوان یک ابزار پرکاربرد در کنار سایر ابزارها مورد استفاده قرار می گیرد.
حال نگاهی به گزینه‌های مختلف یادگیری ماشین و داده کاوی موجود در وکا می‌اندازیم تا ببینیم یک کاربر تازه وارد چگونه با استفاده از رابط گرافیکی وکا می‌تواند فناوری‌های مختلف داده کاوی را بیاموزد.
وکا را می‌توان به سه روش مختلف استفاده کرد- از طریق رابط گرافیکی، رابط خط فرمان و API . رابط گرافیکی دارای سه مولفه است-Explorer،Experimenter و Knowledge Flow، غیر از یک رابط خط فرمان ساده.

 

نگاهی گذرا به داده‌ کاوی با Weka نگاهی گذرا به داده‌ کاوی با Wekaمولفه‌های Explorer

Explorer شامل مولفه‌های زیر است.
Preprocess : اولین مولفه Explorer گزینه‌ای را برای پیش پردازش داده‌ها ارائه می‌دهد. فرمت‌های مختلف داده‌ها مثل ARFF ،CSV ،C4.5 ، باینری و غیره را می‌توان وارد کرد. ARFF مخفف attribute-relation file format ( فرمت فایل مرتبط با ویژگی) است و برای استفاده با نرم افزار یادگیری ماشین وکا توسعه یافته است. شکل ۱ اجزای مختلف فرمت ARFF را شرح می‌دهد. این نمونه‌ای از مجموعه داده‌های Iris است که همراه با وکا می‌آید. بخش اول نام رابطه است. بخش “attribute” یا «ویژگی» شامل نام ویژگی‌ها و انواع داده‌های آن‌ها و همچنین تمام نمونه‌های واقعی است. داده‌ها را می‌توان از یک URL یا از پایگاه داده SQL ( با استفاده از JDBC ) وارد کرد. مولفه Explorer در صورت لزوم، یک گزینه برای ویرایش مجموعه داده‌ها ارائه می‌دهد. وکا دارای ابزارهای خاص برای پردازش داده‌هاست که فیلتر نامیده می‌شود.
فیلتر شامل دو خصوصیت است: نظارت شده، نظارت نشده. هر فیلتر نظارت شده و نظارت نشده دارای دو طبقه‌بندی، فیلترهای ویژگی (attribute filter) و فیلترهای نمونه (instances filters) است. این فیلترها برای حذف ویژگی‌ها یا نمونه‌های مشخص در برخورد با شرایط معین استفاده می‌شوند. از این فیلترها می‌توان برای گسسته‌سازی، عادی‌سازی، بازنمونه گیری، انتخاب ویژگی، تبدیل و ترکیب ویژگی‌ها استفاده نمود. گسسته‌سازی داده‌ها یک تکنیک کاهش داده‌هاست که برای تبدیل یک دامنه بزرگ از مقادیر عددی به مقادیر رسته‌ای به کار می‌رود.
Classify: گزینه بعدی در Weka Explorer ،Classifier است که مدلی برای پیش‌بینی مقادیر عددی یا اسمی است و شامل تکنیک‌های مختلف یادگیری ماشین می‌باشد همانند درختان و لیست‌های تصمیم‌، طبقه‌بندی‌کننده‌های مبتنی بر نمونه، ماشین‌های بردار پشتیبان (support vector machines)، رگرسیون لجستیک، شبکه‌های بیز و غیره.
شکل ۳ نمونه‌ای از یک درخت تصمیم‌ را با استفاده از الگوریتم J4.8 برای طبقه‌بندی مجموعه داده‌های IRIS به انواع مختلف گیاهان IRIS، بر اساس اطلاعات مربوط به برخی ویژگی‌ها همچون طول و عرض کاسبرگ، طول و عرض گلبرگ و غیره، نشان می‌دهد. درخت تصمیم گزینه‌ای را برای استفاده از یک مجموعه آموزشی و مجموعه‌های آزمایشی به کار گرفته شده از فایل‌های موجود، همچنین اعتبارسنجی ضربدری یا تجزیه داده‌ها به داده‌های آموزشی و آزمایشی بر اساس درصد ارائه شده، عرضه می‌کند.
خروجی طبقه‌بندی‌کننده، خلاصه دقیقی از نمونه‌های طبقه‌بندی شده درست/ غلط ، میانگین خطای مطلق (Mean Absolute Error) ، خطای جذر میانگین مربع‌ها (root mean square error) و غیره ارائه می‌دهد.
Cluster: پنل Cluster با پنل Classify یکسان است. بسیاری از تکنیک‌ها همچون K-Means ، EM ، Cobweb،X-means و Farthest First اجرا می‌شوند. خروجی در این تب شامل ماتریکس درهم‌ریختگی است که نشان می‌دهد اگر کلاسترها به جای کلاس واقعی استفاده می‌شدند، چه تعداد خطا به وجود می‌آمد.

 

نگاهی گذرا به داده‌ کاوی با WekaAssociate: برای یافتن وابستگی در مجموعه داده‌های ورودی، می‌توان از “Associate” استفاده کرد. Associate شامل اجرای الگوریتم Apriori برای یادگیری قوانین وابستگی است. این الگوریتم‌ها می‌توانند وابستگی‌های آماری بین گروهای ویژگی‌ها را شناسایی کنند و تمام قوانینی که دارای حداقل پشتیبانی هستند را محاسبه نمایند و همچنین سطح اعتماد را افزایش دهند. در اینجا، وابستگی یعنی چگونه یک مجموعه ویژگی، مجموعه ویژگی دیگر را تعیین می‌کند و پس از تعریف حداقل پشتیبانی، تنها قوانینی را نشان می‌دهد که شامل مجموعه‌ای از آیتم‌ها خارج از کل تراکنش است. اعتماد، تعداد دفعاتی را نشان می‌دهد که شرایط واقعی تشخیص داده شده است.
Select Attributes: از این تب می‌توان برای شناسایی ویژگی‌های مهم استفاده نمود. Select Attributes دو بخش دارد- یک بخش، انتخاب یک ویژگی با استفاده از متدهای جستجو همچون اول- بهترین، انتخاب فوروارد، تصادفی، دقیق و کامل، الگوریتم ژنتیک و رتبه‌بندی و بخش دوم یک روش ارزیابی مثل Correlation-based،Wrapper، information gain،chi-squared و غیره است.
Visualize: از این تب می‌توان برای تجسم‌سازی نتیجه استفاد کرد. Visualize یک طرح پراکنده برای هر ویژگی را نمایش می‌دهد.

 

نگاهی گذرا به داده‌ کاوی با Weka

مولفه‌های Experimenter

گزینه Experimenter موجود در وکا به کاربر امکان می‌دهد تا با انتخاب الگوریتم‌های مختلف و آنالیز خروجی، آزمایشاتی را انجام دهد. Experimenter دارای مولفه‌های زیر است.
Setup: اولین مولفه، تنظیم مجموعه داده‌ها و مقصد خروجی الگوریتم‌ها و غیره است. شکل ۴ نمونه‌ای از مقایسه درخت تصمیم J4.8 با ZeroR در مجموعه داده IRIS است. ما می‌توانیم مجموعه داده‌های بیشتری را بیافزاییم و در صورت لزوم نتیجه را با استفاده از الگوریتم‌های بیشتر مقایسه نماییم.

Run : شما می‌توانید از این تب برای اجرای تجربه استفاده کنید.
Analyse : این تب را می‌‌توان برای آنالیز نتیجه استفاده کرد. خروجی تحلیل تجربه قبلی در شکل ۵ نشان داده شده است. این تصویر نشان می‌دهد که دقت (accuracy) با استفاده J4.8 ، ۹۴٫۷ درصد و با استفاده از Zero R ، ۳۳٫۳۳ درصد است. در پایین ستون‌ها، مقایسه‌ای وجود دارد از تعداد دفعاتی که الگوریتم دوم بهتر ( یا به همان اندازه) یا بدتر از الگوریتم اول بوده است. در این مورد، الگوریتم ۲ بدتر از الگوریتم اول در یک موقعیت است. خروجی تحلیلگر را می‌توان ذخیره کرد.
با استفاده از اپلیکیشن‌های جاوا نیز می‌توان از وکا استفاده کرد، تنها با فراخواندن Java APIs بدون نوشتن کد یادگیری ماشین. Weka for Big Data نیز همچنان در فاز تکاملی است. آخرین توزیع وکا –۳٫۹٫۱—گاهی اوقات یک خطای بزرگ در تنظیمات استاندارد ارائه می‌دهد. این خطا را می‌توان با افزایش تنظیمات حافظه وکا اصلاح کرد.
وکا یک رابط بسیار تعاملی را برای ایجاد و آزمایش مدل‌های مختلف مبتنی بر یادگیری ماشین ارائه می‌دهد. گرچه ابزارهای یادگیری ماشین زیادی وجود دارند، اما وکا وقتی از رابط گرافیکی قدرتمند خود استفاده می‌کند، یادگیری را تسهیل می‌نماید. تب Experimental آن کمک می‌کند تا تکنیک مناسب یادگیری ماشین را انتخاب کنیم.

نظر بدهید

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

It is main inner container footer text