لیستی از ابزارهای اپن‌سورس Data Mining

لیستی از ابزارهای اپن‌سورس Data Mining

داده‌ها تا زمانی که پردازشی بر روی آن‌ها صورت نگیرد به‌صورت خام باقی می‌مانند؛ Data Mining (دیتا ماینینگ یا داده‌کاوی) علمی است که اطلاعات ارزشمند را از دل داده‌های خام استخراج می‌کند و این علم در حوزه‌های مختلفی از دانشگاه گرفته تا صنعت، مورد استفاده قرار می‌گیرد. درواقع داده‌ها حقایقی هستند که معنای خاصی را منتقل نمی‌کنند اما با استفاده از داده‌کاوی می‌توان آن‌ها را به اطلاعات معناداری تبدیل کرد. در این مقاله ابتدا سعی خواهیم کرد که به معرفی کوتاهی از داده‌کاوی بپردازیم و در ادامه ۱۰ ابزار اپن‌سورس در این زمینه را معرفی خواهیم نمود. در ادامه با سکان آکادمی همراه باشید.

داده‌کاوی چیست؟
برای کسانی که تازه با مفهوم داده‌کاوی آشنا شده‌اند، توضیحاتی کوتاه در این زمینه ارائه خواهیم کرد. به یاد داشته باشیم که داده‌کاوی را «علم استخراج اطلاعات از داده‌های موجود در دیتابیس» نیز می‌نامند. با استفاده از فرایند داده‌کاوی، می‌توان از داده‌های خام موجود در دیتابیس، اطلاعات ارزشمند و مفیدی استخراج نموده و به سؤالات مربوط به کسب‌وکارهایی که بقایشان منوط به دیتا است با سرعت بیشتری پاسخ داد چراکه در غیر این صورت برای پاسخ‌دهی به سؤالات می‌بایست در میزان زیادی داده‌های خام جستجو نموده که کاری بسیار زمان‌بر خواهد بود.

بسیاری از برنامه‌های موجود در زمینهٔ داده‌کاوی جهت استفاده در بخش فروش و بازاریابی مورد استفاده قرار می‌گیرند. از کاربردهای این علم می‌توان به شناسایی رفتار مشتری در فرایند خرید، شناسایی الگوهای رفتاری مشتری و یافتن تقلب در خریدهای آنلاین، شناسایی خریدهای هم‌روند انجام‌شده توسط مشتریان (مثلاً 90 درصد مشتریانی که لپ‌تاپ خریده‌اند، ماوس هم خریده‌اند) و ... اشاره نمود.

به طور کلی، داده‌کاوی همان‌طور که بیان شد علمی است که در تلاش است با شناسایی روابط، الگوها و بررسی مشخصات داده‌های خام، اطلاعات معنادار و ارزشمندی را ارائه دهد. در همین راستا چند مرحلهٔ مشخص وجود دارد که به‌صورت کاملاً خلاصه به بیان این موارد خواهیم پرداخت (توجه داشته باشید که این مفاهیم در دانشگاه‌ها به‌صورت دروس دانشگاهی و حتی رشتهٔ دانشگاهی مطرح‌شده و ارائه می‌شوند پس مطمئناً نمی‌توان تمام موارد مربوط به آن را در این حجم کم بیان نمود.)

Pre-Processing: پیش‌پردازش داده‌ها اولین و اساسی‌ترین مرحله در داده‌کاوی است. در این مرحله، داده‌های موجود در دیتابیس‌ها مورد بررسی و ارزیابی قرار گرفته و مشکلات موجود در آن‌ها تا حد زیادی رفع می‌شود. در بسیاری از دیتابیس‌ها، ما مقادیری از داده‌های گمشده داریم! فرض کنید در مورد داده‌های ثبت‌نامی دانشجویان صحبت می‌کنیم؛ ممکن است بسیاری از دانشجویان تاریخ تولدشان ثبت‌ نشده باشد و این در حالی است که این مقادیر بایستی اصلاح شوند، یا ممکن است مقادیر غیرمنطقی داشته باشیم (فرضاً برای دانشجویی که دختر است وضعیت خدمت سربازی ثبت‌ شده باشد و ...) که بهتر است پیش از انجام عملیات اصلی، در یک مرحله پیش‌پردازش داده‌ها صورت پذیرد.

Clustering: خوشه‌بندی مرحله دیگری از فرایند داده‌کاوی است؛ در این مرحله سعی داریم میزان عظیمی از داده‌ها را به خوشه‌های نسبتاً مرتبط تقسیم‌بندی کنیم. به‌ این‌ ترتیب، گروه‌هایی داریم که داده‌های موجود در آن از نظر ساختار و مقادیر بسیار شبیه به هم هستند. به‌ عنوان‌ مثال، دانشجویانی که در یک رشته تحصیل می‌کنند، در خوشه‌‌ای یکسان قرار می‌گیرند.

Classification: طبقه‌بندی نیز یکی دیگر از مراحل فرایند داده‌کاوی است؛ در این مرحله، داده‌هایی که قابلیت طبقه‌بندی شدن دارند را شناسایی کرده و آن‌ها را به طبقه‌های مشخص تقسیم‌بندی می‌کنیم. به‌عنوان‌مثال در یک دانشگاه می‌توانیم ۳ طبقه دانشجویان کاردانی، کارشناسی و کارشناسی ارشد داشته باشیم.

Outlier Analysis: تجزیه‌وتحلیل مقادیر پرت می‌تواند کمک شایانی به ما داشته باشد؛ فرض کنید در مورد حقوق کارمندان یک شرکت در حال بررسی داده‌ها هستیم. اگر به‌صورت میانگین افراد بین ۱ تا ۳ میلیون تومان حقوق دریافت کنند و تعداد انگشت‌شماری حقوق بالای ۷ میلیون تومان دریافت کنند، حضور این داده‌ها در محاسبات ما کلیهٔ محاسبات را تحت تأثیر قرار خواهد داد، فلذا بهترین راهکار حذف این مقادیر پرت از محاسبات است.

Associative analysis: تجزیه‌وتحلیل قواعد انجمنی یکی دیگر از مراحل فرایند داده‌کاوی است؛ همان‌طور که پیش‌تر هم بیان شد، قوانین انجمنی به بررسی هم‌روندی اتفاقات می‌پردازد. به‌ عنوان‌ مثال، تمام کسانی که به کشور فرانسه سفر کرده‌اند علاقه‌مندی زیادی به هنر داشته‌اند و یا 80 درصد افرادی که به مصر سفر کرده‌اند، به یک کشور تاریخی دیگر که دارای بناهای تاریخی زیادی است نیز سفر کرده‌اند. شناسایی این قواعد کمک بسیار شایانی به صاحبان کسب‌وکار خواهد داشت.

Summarization: خلاصه‌سازی کمک می‌کند تا یک تعریف مشخص و ساده از داده‌های عظیم ایجاد کرده و توانایی و سرعت تحلیل آن‌ها را بالاتر خواهد برد. این تکنیک هم یکی دیگر از مراحل فرایند داده‌کاوی است.

در نهایت باید گفت که داده‌کاوی با استفاده از ترکیب تکنیک‌های مختلف، بررسی و تحلیل‌های ریاضیاتی، روانشناختی و ... در تلاش است حداکثر استخراج اطلاعات باارزش از داده‌های خام را انجام دهد. 

توجه داشته باشیم که داده‌کاوی بدون دسترسی داشتن به ابزارهای مناسب این‌کار امکان‌پذیر نیست؛‌ در ادامه به معرفی ۱۰ ابزار اپن‌سورس و رایگان خواهیم پرداخت: 

Weka
یک نرم‌افزار بر پایهٔ زبان جاوا که به‌صورت رایگان و اپن‌سورس تحت لیسانس GNU GPL برای سیستم‌عامل‌های لینوکس، مک و ویندوز ارائه می‌شود. این ابزار شامل تعداد زیادی از الگوریتم‌های یادگیری ماشین جهت داده‌کاوی است. این نرم‌افزار قابلیت انجام عملیات مختلف داده‌کاوی از جمله پیش‌پردازش داده‌ها، خوشه‌بندی، طبقه‌بندی، بررسی قواعد انجمنی، رگرسیون و همچنین بصری‌سازی داده‌ها را دارا است.

راه‌کارهای متفاوتی برای انجام این عملیات در وکا وجود دارد؛ شما می‌توانید از رویکرد کاوشگری (Explorer) استفاده نموده که اولاً بسیار کاربرپسند طراحی‌ شده و ثانیاً می‌توانید داده‌های خام را وارد سیستم کنید سپس باتوجه به روش مد نظر خود، الگوریتم‌های موجود در زمینه‌های مختلف مانند خوشه‌بندی، طبقه‌بندی و یا بررسی قواعد انجمنی را بر روی‌ داده‌ها پیاده‌سازی نمایید.

اما اگر میزان داده‌های خام شما بسیار زیاد است می‌توانید از رویکرد CL استفاده نمایید. در این روش، کل داده‌ها در حافظهٔ اصلی بارگذاری می‌شوند که باعث افزایش سرعت تحلیل داده‌ها خواهد شد. در نهایت باید گفت که وکا امکان ایجاد خوراک برای دولوپرهای اپلیکیشن‌های جاوا را نیز دارد. همچنین از آن می‌توان به‌ عنوان یک ابزار تخصصی در صنعت و دانشگاه (جهت ارائه دوره) استفاده نمود (علاقمندان به یادگیری زبان برنامه‌نویسی جاوا می‌توانند با مراجعه به دورهٔ آموزش زبان برنامه‌نویسی Java در سکان آکادمی، به صورت کاملا رایگان با مقدمات این زبان قدرتمند و در عین حال محبوب آشنا شوند.)

 Rapid Miner 
این ابزار به‌عنوان یک ابزار داده‌کاوی و پلتفرم تحلیل پیش‌بینی مطرح است؛ این ابزار هم به‌ صورت رایگان و اپن‌سورس و هم به‌صورت تجاری عرضه می‌گردد. گارتنر یک شرکت معتبر آمریکایی در زمینهٔ تحقیق و مشاوره کسب‌وکار ۲ ابزار Rapid Miner و Knife را به‌عنوان پیشنهاد‌های خود جهت استفاده در حوزهٔ داده‌کاوی بیان نموده است.

این ابزار همچنین دارای لایبرری عظیمی در زمینهٔ تحلیل داده‌ها و تحلیل پیش‌بینی است و امکان یادگیری ماشینی و انجام عملیات مختلف داده‌کاوی مانند پیش‌پردازش داده‌ها، خوشه‌بندی، طبقه‌بندی، بررسی قواعد انجمنی و ... را به کاربران خود می‌دهد. در کنار این ویژگی‌ها، این ابزار امکان اتصال به زبان‌های برنامه‌نویسی مختلف مانند پایتون و آر را در اختیار کاربران قرار می‌دهد (حتی کاربران ابزار وکا هم از این قاعده مستثنی نیستند و می‌توانند به این ابزار متصل شوند.) Rapid Miner هم در حوزهٔ آموزشی و هم در صنعت نقش بسیار مهمی ایفا می‌کند.

Orange
زبان برنامه‌نویسی پایتون این روزها بسیار مورد استقبال عمومی قرارگرفته است و کاربران این زبان جهت تحلیل داده‌ها و داده‌کاوی می‌توانند از ابزار Orange استفاده می‌کنند (جهت یادگیری زبان پایتون، به دورهٔ آموزش رایگان زبان برنامه‌نویسی Python در سکان آکادمی مراجعه نمایید.) این ابزار کم‌حجم بوده و دارای محیطی کاربرپسند است و در پس‌زمینه از دستورات پایتون برای محاسبات خود استفاده می‌کند.

مدل‌سازی، خوشه‌بندی، طبقه‌بندی، بررسی قواعد انجمنی، بصری‌سازی داده‌ها و اطلاعات و ... از امکاناتی است که این ابزار در اختیار کاربران خود قرار می‌دهد. Orange دارای یک محیط برنامه‌نویسی بصری است که در آن دولوپرها نیاز به کدنویسی نداشته و با Drag & Drop (کشیدن و رها کردن) ابزارهای موجود به‌راحتی می‌توانند روند داده‌کاوی خود را ترسیم کنند.

این محیط به کاربران کمک می‌کند که به ساده‌ترین روش ممکن عملیات داده‌کاوی را انجام دهند. در کنار این موارد، آموزش‌های رایگان آنلاین در زمینهٔ کار با این ابزار کاربردی وجود دارد که کاربران می‌توانند از آن‌ها استفاده نمایند. باتوجه به اتصال کامل این ابزار به زبان برنامه‌نویسی پایتون، می‌توان از آن به‌عنوان یکی از کاربردی‌ترین ابزارهای داده‌کاوی نگاه کرد.

Knime
ابزاری اپن‌سورس و رایگان که در عین‌ حال نسخهٔ تجاری آن نیز موجود است؛ این ابزار به‌عنوان یکی از برترین و کاربردی‌ترین ابزارهای تحلیلی و به‌طور خاص گزارش‌گیری از داده‌های خام مطرح‌شده است. بررسی‌ها حاکی از آنند که اکثر استفاده‌کنندگان از این نرم‌افزار از استفادهٔ از آن خوشنود هستند.

این ابزار امکان جمع‌آوری داده‌های خام، تجزیه‌وتحلیل آن‌ها و همچنین امکان گزارش‌گیری از آن‌ها را در اختیار کاربران قرار می‌دهد. این ابزار کاربردی امکان اتصال به برنامه‌های مشابه مانند وکا و آر را نیز دارد. زبان برنامه‌نویسی استفاده‌ شده جهت توسعهٔ این ابزار Java بوده است و همچنین بر روی IDE رایگان Eclipse پیاده‌سازی شده است.

در کنار تمامی امکانات مطرح‌شده، کاربران با اضافه کردن افزونه‌های مختلفی امکان متن‌کاوی و تحلیل تصاویر را نیز دارا هستند. اگرچه شرکت تولیدکنندهٔ این ابزار بسیار کوچک است، اما وجود کامیونیتی بزرگ کاربران موجب شناخته شدن آن شده است (روی هم رفته، استفاده از این ابزار به‌صورت تجاری جهت شرکت‌ها پیشنهاد می‌گردد.)

DataMelt
ابزاری است که فراتر از داده‌کاوی می‌تواند مورد استفاده قرار گیرد به طوری که از این ابزار برای محاسبات سنگین نیز می‌توان استفاده نمود اما در اینجا ما فقط به جنبه داده‌کاوی آن می‌پردازیم. این ابزار بر پایهٔ زبان برنامه‌نویسی جاوا طراحی‌ شده است اما مزیت آن این است که دارای یک SDK بوده و کاربران حرفه‌ای جاوا می‌توانند از API جاوای آن استفاده کرده و جهت انجام عملیات داده‌کاوی در پروژه‌های خود از این ابزار به‌راحتی استفاده نمایند.

نکتهٔ حائز اهمیت دیگر در مورد این ابزار، توانایی بصری‌سازی بالای آن در بحث داده‌کاوی است؛ امکان نمایش دوبعدی و سه‌بعدی خروجی‌ها چیزی است که این ابزار را از دیگر ابزارهای مشابه متمایز کرده است. دارای ۲ نسخهٔ رایگان و تجاری است که هر ۲ نسخه برای سیستم‌عامل‌های ویندوز، لینوکس، مک و حتی اندروید در دسترس هستند.

Apache Mahout
این ابزار در درجه اول یک لایبرری از الگوریتم‌های یادگیری ماشین است که توانایی خوشه‌بندی، طبقه‌بندی و یافتن الگوهای تکراری در داده‌ها ‌را دارا است؛ این ابزار به‌راحتی می‌تواند به ابزارهای کار با کلان داده‌ها (Big Data) مانند Hadoop متصل شود. در حال حاضر این ابزار در بسیاری از شرکت‌های بزرگ تکنولوژی مانند Adobe ،AOL ،Drupal و Twitter مورد استفاده قرار می‌گیرد. همچنین از این ابزار در تحقیقات دانشگاهی و آموزش دانشجویان نیز بهره گرفته‌شده است.

ELKI
یک نرم‌افزار رایگان و اپن‌سورس تحت مجوز AGPL نگارش 3 است. این نرم‌افزار به‌طور خاص روی بحث خوشه‌بندی و شناسایی داده‌های پرت با استفاده از تعداد زیادی از الگوریتم‌هایی که در همین زمینه دارد کار می‌کند. کاربران با استفاده از رابط کاربری آن می‌توانند به بخش‌های مختلف آن دسترسی پیدا کنند. در طراحی و تولید این نرم‌افزار قابلیت‌های کارایی، مقیاس‌پذیری و همچنین طراحی ماژولار مدنظر بوده است. با توجه به این‌که این ابزار در حال حاضر دارای پشتیبانی رسمی نیست، جهت انجام کارهای پژوهشی پیشنهاد می‌گردد.

MOA
اگر قصد بررسی و تحلیل جریان داده‌های خام آنلاین را دارید، این ابزار می‌تواند برای شما مفید باشد؛ این ابزار دارای ۳ حالت دسترسی است: کاربران می‌توانند از طریق کامندلاین، رابط کاربری و API جاوا به آن متصل شده و از آن استفاده کنند. معمولاً داده‌های مرتبط با دوربین‌های راهنمایی رانندگی، داده‌های تولیدشده توسط حس‌گرها و ... به‌صورت جریان داده‌های خام آنلاین هستند که تجزیه‌وتحلیل آن‌ها با استفاده از این ابزار امکان‌پذیر خواهد بود.

KEEL
این ابزار امکان ورود و خروج داده‌ها، تجزیه‌وتحلیل و نمایش انواع داده‌ها را برای کاربران میسر می‌سازد؛ KEEL بر پایهٔ جاوا و تحت مجوز GPL نگارش 3 پیاده‌سازی شده و به‌صورت رایگان و اپن‌سورس ارائه می‌گردد. اگر قصد انجام عملیات داده‌کاوی بر اساس یادگیری را دارید، این ابزار می‌تواند کمک شایانی به شما کند. همچنین این ابزار از بسیاری از الگوریتم‌های یادگیری ماشین جهت داده‌کاوی پشتیبانی می‌کند.

Rattle
این ابزار به‌صورت رایگان و بر روی انواع سیستم‌عامل‌ها از جمله ویندوز، لینوکس و مک قابل‌ استفاده است؛ پایهٔ این نرم‌افزار بر اساس زبان R بوده و در کشورهای آمریکا و استرالیا به‌عنوان ابزار آموزشی در پروژه‌های دانشگاهی مورداستفاده قرار می‌گیرد.

در انتها باید به این نکته اشاره شود که این ابزارها تنها ۱۰ مورد از ابزارهای داده‌کاوی هستند که هم به‌صورت رایگان و هم به‌صورت اپن‌سورس ارائه می‌شوند. برنامه‌های دیگری در این زمینه به‌صورت تجاری وجود دارند که می‌توانید از آن‌ها نیز استفاده نمایید.

منبع


محسن سمسارپور