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

مقدمهامروزه با گسترش ابزار ها و کتابخانه­های داده کاوی انتخاب یک ابزار پایه کارا برای توسعه الگوریتم­ها جهت برآورده نمودن نیاز­های یک محصول از دغدغه­های مهم سازمان­ها می­باشد در نتیجه مطالعه و مقایسه ابزار­های موجود از اهمیت دوچندان برخوردار است. در این نوشتار ابزار­های موجود را با معیار­های نوع جواز نرم­افزاری، زبان توسعه و کاربرد­ها در صنعت را به طور اجمالی بررسی خواهیم نمود.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 در نرم افزار Knime2-3-2- Rapid Minerاین ابزار در سال 2001 توسط Klinkenberg بر بستر زبان جاوا همراه با رابط گرافیکی توسعه داده شد.[2] از ویژگی­های کلیدی این ابزار می­توان به موارد زیر اشاره کرد:· ورود داده و انجام تبدیل­های لازم(ETL)· پیش­پردازش و مصورسازی داده­ها· ارایه تحلیل­های آماری و پیش­بینی· مهیا کردن استقرار­سازی مدل روی سرور· قابلیت توسعه ماژول­های بیشتر توسط زبان­های R و پایتونهمچنین قابل ذکر است که نرم­افزار­های جانبی زیر نیز ارایه شده است:· RapidMiner Studio· RapidMiner Auto Model· RapidMiner Turbo Prep· RapidMiner Go· RapidMiner Server· RapidMiner Radoop2-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