mohammad moghadas (Seyed)
mohammad moghadas (Seyed)
خواندن ۴ دقیقه·۴ سال پیش

مقایسه بین ابزارهای موجود برای داده کاوی

مقدمه

امروزه با گسترش ابزار ها و کتابخانه­های داده کاوی انتخاب یک ابزار پایه کارا برای توسعه الگوریتم­ها جهت برآورده نمودن نیاز­های یک محصول از دغدغه­های مهم سازمان­ها می­باشد در نتیجه مطالعه و مقایسه ابزار­های موجود از اهمیت دوچندان برخوردار است. در این نوشتار ابزار­های موجود را با معیار­های نوع جواز نرم­افزاری، زبان توسعه و کاربرد­ها در صنعت را به طور اجمالی بررسی خواهیم نمود.

2-1- معرفی ابزار ها

ابزار هایی که قرار است در این نوشتار بررسی شوند به طور کلی در چند دسته قرار می گیرند:

1. کتابخانه­های زبان های برنامه نویسی

2. نرم افزار­های متن باز

3. نرم­افزار­های اختصاصی

دامنه استفاده هر ابزار الزاماً با سایر ابزار­ها یکسان نمی­باشد.

2-2- کتابخانه­­ های زبان­ های برنامه­نویسی

با گسترش زبان­های اسکریپتی نظیر پایتون یا R در حوزه­های مرتبط با مهندسی داده کتابخانه­های کاربردی جهت اعمال مرتبط نیز توسعه داده شده است. به طور مثال در زبان پایتون به کتابخانه­های زیر اشاره نمود:

· Numpy

· Scipy

· Scikitlearn

· Matplotlib

· Tensorflow

· Pytorch

· Seaborn

· Plotly

· …

در مجموع هر کدام از این کتابخانه­ها بخشی از قابلیت­ها را ارایه می­دهند تا توسعه دهنده با بهره­گیری از ترکیب چند کتابخانه به حل مساله خواهد پرداخت. البته لازم به ذکر است که زبان R اغلب برای کاربرد­های آماری استفاده می­شود و دامنه کاربرد­های آن به گستردگی زبان پایتون نیست. از همین رو موقعیت­های شغلی برای زبان R به مراتب کمتر از پایتون است. نکته قابل توجه دیگر محیط­های توسعه است که برای زبان R به برنامه R studioمحدود شده اما برای پایتون چنین محدودیتی وجود ندارد.

2-3- نرم­افزار های متن باز

با گسترش جامعه پروژه­های متن باز، شرکت­های بزرگ به این رویکرد پرداختند. در نتیجه در حوزه داده کاوی شاهد ظهور ابزار­های زیر هستیم:

2-3-1- Knime

این نرم افزار امکان ساخت و مدیریت workflow های داده­کاوی از مرحله خواندن داده تا کشف حقایق را فراهم می­آورد. مطابق شکل 1 کاربران می­توانند یک workflow ساده را توصیف نمایند. روند کار در واقع یک توصیف انتزاعی و مرحله به مرحله اجرای فرآیند داده­کاوی را تعیین می­کند. بنابرین با اجرای دستی یا خودکار فرآیند دلخواه انجام می گردد. نرم­ افزار مذکور دارای دو نسخه رایگان و پولی می­باشد.

شکل1. روند ایجاد workflow در نرم افزار Knime
شکل1. روند ایجاد workflow در نرم افزار Knime


2-3-2- Rapid Miner

این ابزار در سال 2001 توسط Klinkenberg بر بستر زبان جاوا همراه با رابط گرافیکی توسعه داده شد.[2] از ویژگی­های کلیدی این ابزار می­توان به موارد زیر اشاره کرد:

· ورود داده و انجام تبدیل­های لازم(ETL)

· پیش­پردازش و مصورسازی داده­ها

· ارایه تحلیل­های آماری و پیش­بینی

· مهیا کردن استقرار­سازی مدل روی سرور

· قابلیت توسعه ماژول­های بیشتر توسط زبان­های R و پایتون

همچنین قابل ذکر است که نرم­افزار­های جانبی زیر نیز ارایه شده است:

· RapidMiner Studio

· RapidMiner Auto Model

· RapidMiner Turbo Prep

· RapidMiner Go

· RapidMiner Server

· RapidMiner Radoop

2-3-3- Weka

این نرم افزار متن­باز یکی از محبوب­ترین زیرساخت­های مهندسی داده است(برای یادگیری عمیق نیز نرم­افزار مخصوصی به نام Wekadeeplearning4j). از ویژگی­های خوب این محصول می­توان به سازگاری با پایتون و R و اسپارک اشاره نمود[3]. از قابلیت­های کلیدی این محصول می­توان به رابط کاربر پسند و مدل­های ازپیش آماده و جامع آن اشاره نمود.

2-3-4- SQL

این زبان مدیریت ارتباط به زیرساخت های مدیریتی پایگاه­های داده(DBMS) را به عهده دارد و به تنهایی ارتباطی با داده­کاوی ندارد اما در قابلیت های مربوط به داده­کاوی در هر پلتفرم به طور اختصاصی پیاده­سازی شده است. به عنوان مثال SQL Server به عنوان یکی از این پلتفرم­ها این امکان را مهیا کرده است. ورود و پاکسازی داده­ها و مدل­های از پیش آماده مانند درخت تصمیم، شبکه­های عصبی و خوشه­بندی نمونه­ای از قابلیت­های ارزشمند این پلتفرم است. در هر پلتفرمی این گونه خدمات نام اختصاصی خود را دارد. به عنوان مثال در SQL Server عنوان این مجموعه سرویس­ها Ssas می­باشد[4].

2-4- نرم افزار­های اختصاصی

2-3-5- Tableau

این نرم­افزار به دلیل قابلیت­های متنوع مصورسازی دارای شهرت فراوان است. در واقع امکان پرس و جو روی پایگاه­داده­های رابطه­ای داخلی(local)، ابری، فایل­های صفحه­گسترده جهت مصورسازی را فراهم آورده است. در سال 2003 در دانشگاه استنفورد این ابزار توسعه یافته است در نتیجه از قدمت خوبی برخوردار است[5].

از ویژگی­های کلیدی این نرم­افزار پشتیبانی ویژه از داده­های مکان محور است؛ در واقع فایل­های از نوع GeoJSON و KML را می­تواند پشتیبانی کند.

2-3-6- IBM SPSS Modeler

این نرم افزار توسط شرکت IBM با هدف تمرکز در صنایع زیر توسعه داده شده است[6]:

· مدیریت ارتباط با مشتری

· کشف تقلب

· بیمه

· مدیریت رسیک

· سلامت

روال کاری این محصول همانند محصولات مشابهش مبتنی بر تعریف Workflow داده کاوی و مدیریت آن می­باشد. یکی از دلایل محبوبیت این محصول قابل اعتماد بودن آن به دلیل پشتیبانی توسط یک شرکت قوی می­باشد. این نرم افزار در کنار محصولات دیگر شرکت مانند IBM SPSS Statistics می­تواند به نتایج ارزشمندی برای یک پروژه به ارمغان بیاورد. محصولات دیگر این شرکت در همین حوزه در [7] قابل مشاهده است.

2-5- جمع­بندی

در مجموع بنا بر هدف تیم­ها و بودجه آن­ها پیشنهاد ابزار پایه داده کاوی برای آن­ها می­تواند متفاوت باشد. اگر شرکتی بودجه کافی دارد و قابل اطمینان بودن محصول برایش اولویت دارد می­تواند از محصولی مانند IBM SPSS Modeler استفاده کند درحالی که ممکن است شرکتی زمان عرضه به بازار در اولویت بالاتری برایش باشد بنابرین بدلیل وجود نیروی کار بیشتر[8] در حال حاضر از کتابخانه­های پایتونی استفاده کند. هر چند که بعضی شرکت­ها ترجیح می­دهند از افزودن تکنولوژی جدید در تیم­هایشان امتناع ورزند بنابرین از گزینه­های مبتنی بر SQL استفاده خواهند کرد.

منابع

[1] https://www.knime.com/getting-started-guide

[2] https://en.wikipedia.org/wiki/RapidMiner

[3] https://www.cs.waikato.ac.nz/ml/weka/

[4] https://docs.microsoft.com/en-us/analysis-services/data-mining/data-mining-ssas?view=asallproducts-allversions

[5] https://en.wikipedia.org/wiki/Tableau_Software

[6] https://en.wikipedia.org/wiki/SPSS_Modeler#cite_note-3

[7] https://www.ibm.com/products/software

[8] https://towardsdatascience.com/top-10-in-demand-programming-languages-to-learn-in-2020-4462eb7d8d3e


dataminingdata miningpythonrrapidminer
شاید از این پست‌ها خوشتان بیاید