دنیای تحلیل داده و ابزارهای کار با آن
در دنیای پیچیده امروز که همواره در حال تغییر است، تحلیل داده یکی از پرکاربردترین و مهمترین علوم به حساب میآید. در هر حوزهای که دادهای تولید میشود، مانند حوزههای مالی و تجاری، سلامت، اینترنت اشیاء، تلکام و حملونقل، میتوان با تحلیل مناسب دادهها به درک و شهود بهتر و نهایتا تصمیمگیریهای بهتر رسید.
هر زمانی که شما بتوانید از دادههای موجود اطلاعات نهفتهای را بیرون بیاورید، میتوان گفت به دنیای تحلیل داده وارد شدهاید. بهطور مثال وقتی شما دادههای عددی مربوط به قیمت طلا را در روزهای متوالی یادداشت میکنید و تخمینی از قیمت آن برای روزهای آتی پیشبینی میکنید نیز نوعی از تحلیل داده را انجام میدهید. یا زمانی که شما فعالیتهای آماری مختلفی نظیر میانگینگیری را روی دادههای ثبت شده انجام میدهید نیز به نوعی در دنیای تحلیل داده قدم گذاشته اید.
در تصویر 1، جریان کلی تحلیل داده نشان داده شده است. بدیهی است که داده جزء اصلی علم تحلیل داده است. اهمیت سهولت دسترسی به دادههای مختلف برای پژوهشگران این حوزه به قدری است که گوگل یک موتور جستوجوی اختصاصی برای جستوجوی مجموعه دادههای مختلف اعم از تصویر، صوت، سری زمانی و غیره راهاندازی کرده است که در آدرس https://datasetsearch.research.google.com قابل استفاده است.

تصویر 1: جریان کلی علم تحلیل داده [1]

تصویر 2: برخی از ابزارهای تحلیل داده محبوب [2]
ابزارهای متنوعی برای تحلیل داده پیشنهاد شدهاند که برخی برای برنامهنویسان و برخی دیگر برای افراد مبتدی نیز مفید است. در برخی از شناختهشدهترین ابزارهای تحلیل داده نشان داده شدهاند که برخی مانند spark متنباز هستند و برخی مانند Oracle Data Mining نیاز به تهیه لایسنس دارند.
زبانهای پایتون و R ازجمله ابزارهای ورود به دنیای تحلیل داده ویژه برنامهنویسان و تحلیلگران حرفهای هستند. برنامهنویسان برای راحتی خودشان سعی کردند کدهای خود را مجتمع و در پگیجهایی قراردهند که مورد استفاده همگان قرار گیرد و به نوعی به کتابخانه توابع خودشان تبدیل کردهاند. کتابخانههای متنوعی برای تحلیل داده تاکنون توسعه داده شده است که از پرکابردترین آنها در پایتون میتوان به numpy (برای کار با آرایهها و ماتریسهای چندبعدی)، scipy (بهینهسازی، جبرخطی، پردازش سیگنال و غیره)، panadas (برای کار با دیتافریمها)، matplotlib (مصورسازی و رسم نمودار)، sklearn (یادگیری ماشین شامل رگرسیون و خوشهبندی و کاهش بعد و غیره) و statsmodel (تحلیلهای آماری) اشاره کرد. در تصویر 3، برخی از این کتابخانهها آمده است. برخی کتابخانهها نیز برای تحلیلهای خاص توسعه داده شدهاند که به عنوان مثال، در بحث سریهای زمانی میتوان به prophet، darts (پیشبینی سریهای زمانی)، sktime (پیشبینی، دستهبندی، خوشهبندی و برچسبزنی سری زمانی) و tsfresh (استخراج ویژگی از سریزمانی) اشاره کرد.

تصویر 3: برخی ابزارهای محبوب در رابطه با پایتون [3]
همه این موارد گفته شده نیاز به برنامهنویسی و دانش برنامهنویسی دارد اما ابزارهایی نیز وجود دارد که افراد بدون داشتن مهارتهای برنامهنویسی و صرفا با آشنایی با فرایندها و تحلیلهای مدنظر میتوانند از طریق رابط گرافیکی و به راحتی تحلیلهای متنوعی را روی دادههای خود ایجاد نمایید. ابزارهایی نظیر Rapidminer ،Knime ،dataiku ،Weka ،LMjar و Orange که در تصویر 2 نیز نشان داده شدهاند، برخی از این ابزارهای ساده هستند که در آنها با drag and drop کردن المانها میتوان به تحلیلهای ساده و حتی پیشرفته رسید و به پیادهسازی انواع پایپلاینهای یادگیری ماشین پرداخت.

تصویر 4: برخی نرمافزارهای drag and drop تحلیل داده [4]
همچنین ابزارهایی نظیر Tableau ،PowerBI ،QlikView از جمله ابزارهای حرفهایتر میباشند که غالبا برای بصری کردن تحلیلها و بهخصوص تحلیلهای مبنی بر هوشتجاری یا BI استفاده میشود. این ابزارها قابلیتهایی مانند رابط گرافیکی، اتصال به انواع منابع داده، کوئری به دادهها، مدیریت داده و بحثهای ETL[1] و تحلیلهای آنلاین دارند.

تصویر 5: نمونهای از نحوه پردازش جریان داده [5]
به طور کلی تحلیل داده را میتوان به دو حوزه تحلیل دستههای داده و تحلیل جریان داده تقسیم کرد. در تحلیل دستهای با داده ذخیره شده به اشکال مختلف مانند فایل، پایگاه داده، انباره داده، دریاچه داده و غیره مواجه هستیم و تحلیلها میتوانند در بازههای زمانی کوتاه مانند روزانه و یا بلند مانند ماهانه روی داده اعمال شوند. اما در تحلیل جریان داده با یک جریان داده مواجه هستیم که در لحظه میبایست پردازش شود و خروجی مدنظر از آن استخراج گردد. به عنوان مثال، در کاربرد مسیریابی خودروها، داده لحظهای ترافیک همه مسیرها باید پردازش شود تا کوتاهترین و کمترافیکترین مسیر به کاربر پیشنهاد گردد. در چنین کاربردی، داده ذخیره شده از نیم ساعت گذشته جادهها نیز ممکن است مفید نباشد. به عنوان نمونه، در تصویر 5 نحوه کارکرد کلی کتابخانه streamz که جریان داده را تحلیل میکند نشان داده شده است. از ابزارهای مفید برای تحلیل جریان دادهها میتوان به Google Cloud DataFlow ،Apache Kafka ،Amazon Kinesis ،Azure Stream Analytics ،Apache Flink و IBM Stream A اشاره کرد.
منابع
[1] Gupta, S. (2022b, August 10). Data Science Process: A Beginner’s Guide in Plain English. Springboard Blog. https://www.springboard.com/blog/data-science/data-science-process/
[2]19 Best Data Mining Tools – Open Source Tools & Techniques. (n.d.). Data Flair. Retrieved December 2, 2022, from https://data-flair.training/blogs/data-mining-tools-techniques/
[3] Colah, Z. (2018, November 2). Ultimate Python Library Guide for Data Science – Data Science Library. Medium. https://medium.com/data-science-library/ultimate-python-library-guide-for-data-science-2562148158bf
[4] Korstanje, J. (2021, December 14). Drag and Drop Tools for Machine Learning Pipelines— Worth a Try? Medium. https://towardsdatascience.com/drag-and-drop-tools-for-machine-learning-pipelines-worth-a-try-63ace4a18715
[5] What is Stream Processing? (n.d.). NVIDIA Data Science Glossary. https://www.nvidia.com/en-us/glossary/data-science/stream-processing/
پینوشت
[1] Extract transform load


