شاید گمان کنید برای اینکه بتوانید در حوزه علم داده گام بردارید، باید حتما به یک زبان برنامه نویسی تسلط داشته باشید! اما این مقاله ابزارهایی را به شما معرفی میکند که بدون نیاز به برنامه نویسی قادر خواهید بود تا داده های خود را تحلیل کرده و به حل مساله بپردازید.
حتما می دانید که برنامه نویسی جزو مهارتهای جدانشدنی از حوزه علم داده است. کسانی که منطق برنامه نویسی را سریع درک کنند، عموما شانس بالاتری در تبدیل شدن به یک دانشمند داده موفق دارند. پس تکلیف افرادی که هرگز برنامه نویسی کار نکرده اند چیست؟! آیا آنها در مسیر تبدیل شدن به یک دانشمند داده شکست میخورند؟!
ابزارهای علوم داده بدون برنامه نویسی
خبر خوب این است که خیر. راه حلی برای این مسئله وجود دارد. در این مقاله ابزارهایی معرفی میشوند که کمک میکنند تا یادگیری تحلیل داده را بدون نیاز به کدنویسی شروع کنید!! این ابزارها جایگزین کدنویسی هستند و واسط گرافیکی (GUI) کاربرپسندی دارند. طوری که هرکسی با حداقل اشنایی با الگوریتمهای تحلیلی داده، به سادگی میتواند از آنها برای ساخت مدل استفاده کند. در ادامه مقاله، این ابزارها توضیح داده شده اند.
۱- IBM SPSS Modeler
این نرم افزار با نام Clementine به عنوان اولین نرم افزار تجاری در حوزه داده کاوی از سال ۱۹۹۴ توسط شرکت SPSS وارد بازار شد و تا سال ها به عنوان یکی از پرکاربردترین نرم افزارهای تخصصی داده کاوی در دنیا مورد استفاده بوده است. با خرید شرکت SPSS توسط غول آمریکایی IBM، نام این محصول به نام IBM SPSS Modeler تغییر یافت.
مدل توسعه و حل مسئله جریانی در قالب Stream، که به راحتی با Drop&Drag و بدون نیاز به برنامه نویسی انجام می پذیرد، شروع کننده توسعه طیف وسیعی از نرم افزارهای دیگر در این حوزه طی سالهای بعد خود بوده است و همین موضوع باعث امتیاز بالای آن در کاربرپسند بودن و سادگی در استفاده و یادگیری شده است. همچنین مشارکت شرکت SPSS به عنوان یکی از سه عضو کنسرسیوم معرفی استاندارد CRISP-DM، این نرم افزار را در زمینه مدیریت پروژه های داده کاوی در سطح بالاتری از رقبا قرار داده است.
گروه داده کاوی صدرا نیز بر اساس تجربه خود طی سالهای اخیر، نه تنها از این نرم افزار جهت سناریوسازی و ایده پردازی در مرحله حل مسئله، به عنوان نرم افزار محوری خود استفاده می نماید، بلکه مبنا و شروع مسیرهای آموزشی و پروژه ایی خود را نیز روی این نرم افزار قرار داده است.
از دیگر قابلیت های این نرم افزار می توان به توانایی خوب آن در اتصال به انواع منابع داده ها، روش های متنوع در آماده سازی داده ها، پکیج مناسبی از الگوریتم های با کیفیت آماری و یادگیری ماشین، پشتیبانی از زبانهای R و Python و همچنین یکپارچگی با ابزار IBM SPSS Statistics که کلیه تحلیل های تخصصی آماری را در خود جای داده است اشاره نمود.
۲- RapidMiner
اولین نسخه نرمافزار رپیدماینر در سال ۲۰۰۶ در قالب یک نرمافزار متن باز با نام Rapid_l منتشر شد. پس از چندسال، نام آن را به RapidMiner یا بطور خلاصه RM تغییر دادند. نسخه های قدیمی این نرم افزار، متن باز بودند اما از نسخه ۶ به بعد با لایسنس و یا نسخه محدود رایگان ۱۴ روزه عرضه میشود.
رپیدماینر همه آنچه که برای ساخت مدل پیشبینی لازم است را فراهم میآورد. از آمادهسازی داده ها تا مدلسازی و سپس ارزیابی نهایی و انتشار مدل آماده استفاده. رابط کاربری این نرم افزار مانند Matlab Simulink بصورت جریانی از عملگرهاست. فقط کافیست تا این عملگرها در جهت هدف پروژه، بدرستی به هم متصل شده و اجرا شوند. در رپیدماینر میتوانید طیف وسیعی از الگوریتمها را بدون نیاز به حتی یک خط کدنویسی در محیط نرم افزار اجرا کنید و خروجی بگیرید. یک ویژگی بسیار جالبی که RM دارد این است که عملگرهایی هم برای نوشتن و اجرای کدهای R و Python در آن تعبیه شده است که در خود نرمافزار یکپارچه شده اند.
محصولات این نرمافزار عبارت اند از:
RapidMiner Studio: نرم افزاری که برای آمادهسازی، بصری سازی و مدلسازی آماری داده ها به کار میرود.
RapidMiner Server: یک نرم افزار پولی که پکیج های لازم برای تحلیل داده را در خودش جمعآوری کرده و امکاناتی برای سادهسازی کارهایی مانند تیمسازی، مدیریت پروژه و توسعه مدل برای کاربران فراهم کرده است.
RapidMiner Radoop: امکانات اجرایی کردن تحلیل داده های کلان بر بستر Hadoop را فراهم کرده است.
RapidMiner Cloud: یک بسته بر مبنای Cloud است که امکان اشتراک گذاری آسان اطلاعات در بین تجهیزات دیگر را فراهم آورده است.
RM در حال حاضر در صنایع مختلف، اتوماسیون، بانکداری، بیمه، تولید، نفت و گاز، بازاریابی و زیرساخت های ارتباطاتی به عنوان ابزار تحلیل داده مورد استفاده قرار میگیرد.
۳- DataRobot
DataRobot یا بطور خلاصه DR یک بستر برای پیادهسازی مدلهای مبتنی بر یادگیری ماشین هست که خیلی کارها را خودکار کرده و توسط بهترین دانشمندان داده وبسایت kaggle شامل Jeremy Achin، Thoman Degodoy و Owen Zhang ایجاد شده است.
بر اساس ادعای DR، این ابزار مزایای زیر را دارد:
بهینهسازی مدل ها: این بستر قادر است بهترین آمادهسازی دادهها و تشخیص ویژگیهای مهم را با بکارگیری متنکاوی، تشخیص نوع ویژگی، رمزگشایی، هم مقیاس سازی، تبدیلات و … ارائه دهد. پارامترهای پیشفرض بر اساس معیار خطا و امتیاز ارزیابی بطور خودکار تعیین میشوند.
پردازشهای موازی: با بهره بری از سرورهای قدرتمند، محاسبات بر روی بیش از ۱۰۰۰ سرور چندهستهای صورت میگیرد و در آن از الگوریتمهای توزیع شده برای کار با دادههای بزرگ استفاده شده است.
امکان توسعه: فراهم سازی امکانات توسعه آسان فقط با چند کلیک و بدون نیاز به کد نویسی، مناسب برای مهندسان نرم افزار، دارای کیتهای ساخت نرم افزارهای مبتنی بر Python و محیط برنامهنویسی کاربردی موجود برای یکپارچهسازی مدلها در ابزارها و نرمافزارها.
۴- BigML
این ابزار هم بستر مدلسازی بر مبنای یادگیری ماشین دیگری است که رابط کاربری خوبی دارد و مدعی داشتن ویژگیهای زیر است:
Sources: بکارگیری انواع منابع مختلف اطلاعاتی
Datasets: استفاده از منابع تعریف شده برای ساخت یک دیتاست
Models: ساخت مدل های پیش بینانه
Predictions: پیشبینی بر اساس مدل
Ensembles: توانایی ترکیب مدلهای مختلف
Evaluation: ارزیابی مدل ها
هرکدام از این کارها به ترتیب و پشت سر هم انجام میشوند. BigML نمودارهای گرافیکی جذابی از نتایج ارائه می دهد و از الگوریتمهای متنوعی برای حل مسائل طبقهبندی، رگرسیون، خوشهبندی، تشخیص انحرافات و کشف قوانین انجمنی استفاده می کند.
۵- Google Cloud Prediction API
این ابزار یک API از نوع RESTful است که برای ساخت مدلهای مبتنی بر یادگیری ماشین در گوشیهای اندروید مورد استفاده قرار میگیرد. برخی از کاربردهای این API عبارتند از:
ارائه سیستم توصیه گر: این سیستم بر اساس عادات گذشته کاربران، پیشبینی میکند که چه فیلمها یا محصولات دیگری را ممکن است یک کاربر بپسندد.
تشخیص spam: سیستمی که ایمیلها را به spam و غیر spam طبقه بندی میکند.
تحلیل نظرات: تحلیل کامنت های پست شده در باره خدمات یا محصول، برای تعیین اینکه ایا افراد نظر مثبت داشتند به محصول/سرویس یا خیر.
پیشبینی میزان خرید: تخمین اینکه بر اساس تاریخچه مقدار هزینه کردن کاربران، چه میزان یک کاربر ممکن است در روز هزینه خرید کند.
به همراه این API، کتابخانه هایی از زبانهای مختلف مانند Python ، Go ، Java، JavaScript، .net، NodeJS، Obj_C، PHP و Ruby برای بالابردن عملکرد و امنیت API بر روی گوشی قابل نصب است.
۶- Paxata
یکی از معدود شرکت هایی هست که فقط بر روی پاکسازی و آمادهسازی داده ها بعنوان یکی از وظایف مهم در استاندارد پیاده سازی دادهکاوی تمرکز کرده است و وارد مباحث یادگیری ماشین و مدلسازی آماری نشده است. این ابزار مانند اکسل حالت صفحه گستره داشته و کاربری سادهای دارد. دستورالعمل گرافیکی ساده برای جمعآوری دادهها، پیداکردن و پاکسازی دادههای کثیف یا گمشده و به اشتراکگذاری و قابلیت استفاده مشترک دادهها توسط تیم، در این نرمافزار فراهم شده است.
بستر Paxata کارهای زیر را بطور متوالی انجام میدهد:
اضافه کردن داده ها : این بستر منابع زیادی برای جمعآوری دادهها دارد.
کاوش : با استفاده از ابزارهای گرافیکی قدرتمند امکان کشف ایرادات دادهها را برای کاربران فراهم آورده است.
پاکسازی و تغییر : پاکسازی دادهها از طریق جایگذاری مقادیر گمشده، نرمالسازی مقادیر مشابه با استفاده از NLP، تشخیص موارد تکراری.
ساخت داده مورد نیاز : ساخت pivot بر روی دادهها، گروه بندی و تجمیع دادهها
اشتراک گذاری و مدیریت داده ها : امکان به اشتراک گذاری و مدیریت دادهها با توجه به دسترسیهایی که برای کاربران تعیین میشود.
ترکیب داده ها : تکنولوژی به نام SmartFusion این امکان را برای کاربران فراهم آورده است که تنها با یک کلیک بهترین ترکیب دادهها را به یک AnswerSet یکتا فراهم آورد.
ابزارهای هوش تجاری :در این ابزار، با بکارگیری AnswerSet در مرحه قبل، قابلیت تبدیل داده ها به نمودارهای گرافیکی ارزشمند بوسیله ابزارهای BI مرسوم بوجود میآید. همچنین امکان رفت و برگشت دائم بین مراحل پیشپردازش و مصورسازی به آسانی امکانپذیر است.
۷-Trifacta
این شرکت نیز بر آمادهسازی دادهها تمرکز کرده و برای این هدف ۲ محصول ارائه داده است:
Wrangler : نسخه رایگان نرمافزار
Wrangler Enterprise : نسخه کامل و لایسنس دار نرمافزار
Trifacta یک واسطه گرافیکی کاملا ادراکی برای پاکسازی دادهها ارائه داده است. این واسط دادهها را بعنوان ورودی گرفته و خلاصه ای از دادهها به همراه شاخصهای آماری متنوع برای هر ستون ارائه میدهد. همچنین بطور خودکار برخی تبدیلات را برای هر یک از ستونهای دیتاست ارائه میدهد که تنها با یک کلیک قابل انجام است. تبدیلات متنوع بر روی دادهها، با استفاده از برخی توابع از پیش تعریف شده، بر روی واسط گرافیکی به آسانی قابل اجرا شدن است.
Trifacta همانند ابزار قبلی نیز مراحل زیر را برای آمادهسازی دادهها انجام میدهد:
کشف دانش:این بخش برای بررسی اولیه دادهها و بررسی توزیع آنها برای حس گرفتن از دادههاست.
ساختار دادهها: این بخش نیز بیشتر برای بررسی مشخصات اولیه دادهها یعنی فرمت و نوع داده و تشخیص ناهنجاری هاست.
پاکسازی دادهها: این بخش شامل فرایندهایی مانند جایگذاری مقادیر گمشده، استانداردسازی متون و غیره میباشد که برای آماده کردن دادهها جهت مدلسازی لازم است.
غنیسازی دادهها: این بخش با اضافه کردن داده از منابع اطلاعاتی دیگر و پیادهسازی برخی کارهای مهندسی بر روی فیلد دادهها، به بهبود تحلیل داده ها کمک می کند.
ارزیابی دادهها: این بخش برای بررسی نهایی دادهها به کار می رود.
ارائه دادهها: در این بخش دادههای آمادهسازی شده برای کاربرد های بعدی منتشر میشود.
۸- Narrative Science
این ابزار هم صرفا ساخت خودکار گزارشاتی با استفاده از دادهها را انجام میدهد. درواقع این ابزار برای داستانسُرایی درمورد دادهها ایجاد شده و از الگوریتم پردازش زبان (NLP) برای این کار استفاده می کند.
برخی ویژگیهای این ابزار عبارت است از:
ارائهی آرشیوی از دادهها برای آمار و اطلاعات گذشته درباره سازمان
ساخت گزارشهای هدفدار برای افراد خاص
این ابزار هم اکنون در سازمانهای مالی، بیمهها، دولت و بازاریابی اینترنتی مورد استفاده قرار میگیرد. برخی از مشتریان آن را میتوان American Century Investments، PayScale، MasterCard، Deloitte و .. نام برد.
۹- MLBase
یک پروژه متنباز توسعه داده شده توسط آزمایشگاه AMP که در دانشگاه برکلی کالیفرنیا شروع به کار کرد. هدف اصلی این پروژه، ایجاد یک بستر برای پیادهسازی آسان یادگیری ماشین بر روی مسائل با مقیاس بزرگ است.
پروژه MLBase سه محصول دارد:
Mlib: این محصول همانند هسته کتابخانه توزیع شده ML در Apache Spark عمل میکند. این محصول به عنوان یک بخشی از پروژه MLBase در ابتدا شروع به توسعه پیدا کرد اما هم اکنون جامعه Spark پشتیبان آن است.
MLI: یک API برای استخراج ویژگیهای مهم و توسعه الگوریتم ها میباشد که با زبانهای سطح بالای برنامهنویسی ایجاد شده است.
ML Optimizer: این لایه ساختاری جریانی برای کارهای یادگیری ماشین میباشد. Optimizer برای استخراج ویژگیها و الگوریتمهای یادگیری ماشین در لایههای MLI و Mllib بکار می رود.
البته این پروژه مانند بسیاری از پروژه های دیگر درحال توسعه است و در آینده نزدیک بسیار پیشرفت خواهد کرد.
۱۰- WEKA
نرمافزار دادهکاوی Weka با زبان جاوا نوشته شده است و در گروه یادگیری ماشین دانشگاه وایکاتو در نیوزلند توسعه داده شده است. این نرم افزار هم متنباز بوده و ابزار بسیارخوبی برای تازه واردان در حوزه علم داده میباشد.
این نرمافزار هنوز هم در بسیاری از آکادمیهای علم داده بکار گرفته میشود.
۱۱- Microsoft Azure ML Studio
جایی که نام بازیگران بزرگ در آن مطرح است، چطور ممکن است که مایکروسافت در آنجا حضور نداشته باشد؟! پلتفرم Azure (اَژور) یک پلتفرم یادگیری ماشین تحت وب قدرتمند و درعین حال ساده از شرکت مایکروسافت است. این پلتفرم دارای یک محیط دراپ اند درگ است که کار کردن با آن نیازی به کدنویسی ندارد. طراحان مایکروسافت در محیط اژور، پروژه های آمادهی جامع و مثال های ساده ای را برای تازه کاران قرار دادند تا به سرعت یاد گرفته و بتوانند با آن کار کنند.
در Azure شما می توانید ۵ گام ساده زیر را بکار بگیرید:
وارد کردن مجموعه داده
انجام فرایند پاکسازی و پیش پردازش داده ها
تقسیم داده ها به دو بخش داده های آموزش و داده های تست
بکارگیری الگوریتم های یادگیری ماشین قرار گرفته در اژور برای آموزش داده ها
ارزیابی مدل نهایی و انجام پیش بینی
۱۲- Automatic Statistican
این یک محصول نیست بلکه یک موسسه تحقیقاتی هست که در حال ساخت ابزاری برای کاوش و تحلیل دادهها میباشد. این ابزار قرار است انواع مختلف داده را پشتیبانی کند و از NLP برای ساخت گزارشات تحلیلی با جزئیات استفاده کند. این ابزار توسط محققینی که در موسسات تحقیق MIT و Cambridge کار میکنند، در حال توسعه است. کمپانی بزرگ google حامی این ابزار بوده و بدلیل اینکه هنوز در حال توسعه میباشد، اطلاعات خیلی کمی درباره آن موجود است.
منبع: پایگاه Analytics Vidhya
ترجمه متن: داوُد دوروش