خانه توسعهدهنده تکنولوژی هوش مصنوعی و تحلیل داده دیتا ساینس (Data Science) چیست؟ همهچیز دربارهی علم داده
دیتا ساینس (Data Science) چیست؟ همهچیز دربارهی علم داده
با ورود جهان به عصر کلانداده، نیاز به ذخیرهسازی دادهها نیز افزایش یافت. تا سالها، چالش و دغدغهی اصلی سازمانها ایجاد راهحلهایی برای ذخیرهسازی دادهها بود. اما اکنون که Hadoop و سایر فریمورکها مشکل ذخیرهسازی را بهخوبی حل کردهاند، تمرکز بر روی پردازش دادهها معطوف شده و دیتا ساینس یا علم داده (Data Science) کلید پردازش کلاندادهها است. بنابراین، بسیار مهم است که بدانیم دیتا ساینس چیست و چگونه میتواند به سازمانها در جهت اتخاذ استراتژیهای مناسب کمک کند.
در این مقاله توضیح خواهیم داد که دیتا ساینس چیست و چه نقشی در استخراج اینسایتهای معنادار از مجموعه دادههای بزرگ و پیچیده دارد.
فهرست مطالب
Toggleدیتا ساینس چیست؟
دیتا ساینس یا علم داده عبارت است از بهکارگیری ابزارها، الگوریتمها و اصول مختلف یادگیری ماشین برای کشف الگوهای پنهان در دادههای خام. اما این کار با آنچه که سالهاست متخصصین آمار و تحلیلگران داده انجام میدهند، چه تفاوتی دارد؟ پاسخ این سؤال در تفاوت بین «توضیح» و «پیشبینی» نهفته است.
یک تحلیلگر داده معمولاً با بررسی و مطالعهی تاریخچهی دادهها توضیح میدهد که در حال حاضر وضعیت چگونه است. در صورتی که یک دانشمند داده (Data Scientist) علاوه بر انجام تحلیلهای اکتشافی (Exploratory Analysis) برای کشف اینسایتها، از الگوریتمهای مختلف یادگیری ماشین برای پیشبینی وقوع یک رویداد خاص در آینده استفاده میکند.
علم داده از تحلیلهای پیشبینیکننده (Predictive Analytics) و تجویزی (Prescriptive Analytics) و مدلهای یادگیری ماشین (Machine Learning) برای پیشبینی و تصمیمگیری استفاده میکند. اما هر یک از این اصطلاحات دقیقاً چه معنایی دارند. در ادامه درمورد هر یک از این روشها توضیحاتی خواهیم داد:
تحلیلهای پیشبینیکننده (Predictive Analytics) به شما کمک میکنند تا بتوانید احتمال وقوع یک رویداد خاص را در آینده پیشبینی کنید. بهعنوان مثال اگر شما شرکتی داشته باشید که پولی را بهصورت اعتباری در اختیار مشتریانش قرار میدهد، برای شما مهم است که مطمئن شوید آنها در آینده بازپرداختهای بهموقعی داشته باشند. برای این منظور میتوانید مدلی بسازید که میتواند روی تاریخچهی پرداخت مشتریها تحلیلهای پیشبینیکننده انجام داده و پیشبینی کند که آیا آنها بازپرداخت بهموقعی خواهند داشت یا خیر.
تحلیل تجویزی (Prescriptive Analytics)، یک حوزهی نسبتاً جدید است که بر ارائهی پیشنهادهای دادهمحور تمرکز دارد. به عبارت دیگر، تحلیلهای تجویزی علاوه بر پیشبینی احتمالات، طیفی از اقدامات و نتایج مرتبط را نیز پیشنهاد میکنند. بهعنوان مثال، میتوان از دادههای جمعآوریشده توسط وسایل نقلیه و الگوریتمها برای آموزش خودروهای خودران و هوشمندسازی آنها استفاده کرد.
از یادگیری ماشین نظارتشده (Supervised Machine Learning) برای پیشبینی رویدادهای آینده میتوان استفاده کرد. بهعنوان مثال یادگیری ماشین میتواند با استفاده از دادههای معاملاتی یک شرکت، مدلی را برای پیشبینی روندهای مالی آینده پیشبینی کرده و یا بر اساس سوابق خریدهای جعلی، یک مدل را برای تشخیص کلاهبرداریها آموزش دهد.
زمانی که هیچ برچسب ازپیشتعریفشدهای برای دستهبندی دادهها وجود ندارد، میتوان از یادگیری ماشین بدون نظارت (Unsupervised Machine Learning) برای کشف الگوهای پنهان در مجموعه دادههای بزرگ استفاده کرده و پیشبینیهای معناداری انجام داد. رایجترین الگوریتم مورداستفاده برای کشف الگو، خوشهبندی (Clustering) است. بهعنوان مثال، فرض کنید در یک شرکت تلفن کار میکنید و باید با قرار دادن دکل در منطقه یک شبکه ایجاد کنید. برای اطمینان از اینکه همهی کاربران، سیگنال بهینه را دریافت میکنند، میتوانید از تکنیک خوشهبندی برای یافتن مکان دکلها استفاده کنید.
ممکن است علاقهمند باشید: یادگیری ماشین چیست؟
اکنون که به سؤال اصلی این مقاله یعنی «دیتا ساینس چیست» پاسخ دادهایم، بیایید ببینیم که دلیل اهمیت و کاربرد گستردهی دیتا ساینس چیست.
دلیل اهمیت دیتا ساینس چیست؟
در گذشته دادهها عمدتاً ساختاریافته و کمحجم بودند. بنابراین امکان تجزیهوتحلیل آنها با استفاده از ابزارهای هوش تجاری (Business Intelligence) وجود داشت. اما امروزه بیشتر دادهها بدون ساختار یا نیمهساختاریافته هستند. این دادهها از منابع مختلفی مانند گزارشهای مالی، فایلهای متنی، فرمهای چندرسانهای، سنسورها و… به دست میآیند. ابزارهای سادهی هوش تجاری قادر به پردازش این تنوع و حجم عظیم داده نیستند. به همین دلیل است که ما برای پردازش و تحلیل دادهها، به ابزارها و الگوریتمهای تحلیلی پیچیدهتر و پیشرفتهتری نیاز داریم.
البته این تنها دلیل اهمیت علم داده نیست. در ادامه به چند مثال از کاربردهای علم داده در حوزههای مختلف اشاره کردهایم:
- بدون شک کسبوکارها دادههایی همچون تاریخچهی جستجو در اینترنت، تاریخچهی خرید، سن و درآمد مشتریان خود را دارند. با استفاده از این دادهها میتوان مدلها را برای درک نیاز مشتریان آموزش داد و محصولات را با دقت بیشتری به مشتریان توصیه کرد.
- خودروهای خودران درلحظه دادهها را از حسگرها، رادار، دوربین و لیزر برای تهیهی نقشهای از محیط اطراف خود جمعآوری میکنند. سپس بر اساس این دادهها و با استفاده از الگوریتمهای پیشرفته یادگیری ماشین، درمورد زمان افزایش سرعت، زمان کاهش سرعت، زمان سبقت گرفتن و… تصمیمگیری میکنند.
- دادههای کشتیها، هواپیماها، رادارها و ماهوارهها را میتوان برای ساخت مدل جمعآوری و تجزیهوتحلیل کرد. این مدلها نهتنها آبوهوا را پیشبینی میکنند، بلکه به پیشبینی وقوع هرگونه بلایای طبیعی نیز کمک میکنند. بنابراین به کمک علم داده میتوان اقدامات مناسب را برای نجات جان افراد انجام داد.
همان طور که در تصویر زیر مشخص است، یادگیری ماشین در حوزههای بسیاری کاربرد دارد.
دانشمند داده کیست و چه کاری انجام میدهد؟
دانشمندان داده (Data Scientists) کسانی هستند که با تخصص قوی خود در حوزههای مختلف، مسائل دادهی پیچیده را حل میکنند. آنها باید در چندین حوزهی مرتبط با ریاضیات، آمار، علوم کامپیوتر و… سررشته داشته باشند تا بتوانند بهدرستی دادهها را تحلیل کنند (اگرچه ممکن است در همه این زمینهها متخصص نباشند). آنها از آخرین فناوریها برای یافتن راهحلها و رسیدن به نتایجی که برای رشد و توسعه یک سازمان حیاتی است، استفاده میکنند. دانشمندان داده، دادهها را به شکلی بسیار مفیدتر نسبت به دادههای خام ارائه میکنند.
ممکن است علاقهمند باشید: آیا «دانشمند داده» هنوز جذابترین شغل قرن بیستویک است؟
تفاوت هوش تجاری و دیتا ساینس چیست؟
در فضای کسبوکار اغلب علم داده با هوش تجاری (BI) اشتباه گرفته میشود. این دو چه تفاوتی با یکدیگر دارند؟ هوش تجاری و علم داده هر دو فرایندهایی متمرکز بر داده هستند و دادهها را برای اتخاذ تصمیمهای آگاهانه، به اطلاعات مفیدی تبدیل میکنند. با این حال، تفاوتهای ظریفی بین این دو رویکرد وجود دارد. بهطور کلی، هوش تجاری بر تجزیهوتحلیل رویدادهای گذشته تمرکز دارد، در حالی که هدف علم داده پیشبینی روندهای آینده است. از مهمترین تفاوتهای هوش تجاری و علم داده میتوان به موارد زیر اشاره کرد:
هوش تجاری | علم داده | |
هدف | بر شناسایی روندهای گذشته تمرکز دارد و به سؤالاتی از این قبیل پاسخ می دهد: در دوره گذشته چه اتفاقاتی افتاده است؟ و یا چه روندهایی در حال توسعه است؟ | بر استخراج اطلاعات از مجموعهدادهها و ارائهی پیشبینی براساس آن ها تمرکز دارد. علم داده به سؤالهایی از این قبیل پاسخ میدهد: چه اتفاقی خواهد افتاد؟ یا محتملترین نتیجه کدام است؟ |
مهارتهای موردنیاز | نیازمند دانش اولیه از آمار و حوزهی کسبوکار و همچنین مهارتهای تبدیل و مصورسازی دادهها | نیازمند مهارتهای فنی بیشتر مانند کدنویسی، دادهکاوی و همچنین دانش پیشرفتهتر از آمار و حوزهی موردنظر است. |
جمعآوری و مدیریت دادهها | برای مدیریت دادههایی که بهخوبی سازماندهی شدهاند، توسعه پیدا کرده است. | برای مدیریت حجم زیادی از دادههای پویا و کمترساختاریافته توسعه پیدا کرده است. |
پیچیدگی | در مدیریت روزانهی کسبوکارها کاربردیتر است و نیاز به هزینه و منابع کمتری دارد. | از نظر ظرفیت پیشبینی، توانایی مدیریت دادههای پویا و نیاز به مهارتهای پیشرفته، پیچیده تر است. |
چرخهی عمر علم داده
اشتباه رایجی که در اغلب در پروژههای علم داده اتفاق میافتد، عجله در جمعآوری و تجزیهوتحلیل دادهها بدون درک الزامات یا حتی چارچوببندی مناسب مشکل کسبوکار است. بنابراین، بسیار مهم است که تمام مراحل را در طول فرایند تحلیل دادهها دنبال کرده تا از عملکرد روان پروژه اطمینان حاصل کنید. در ادامه مروری کوتاه بر مراحل اصلی چرخهی عمر علم داده (Data Science Lifecycle) خواهیم داشت.
مرحله ۱ – تحقیق: بسیار مهم است که قبل از شروع پروژه، الزامات، نیازمندیها، اولویتها و بودجهی موردنیاز را بررسی کنید. شما باید توانایی پرسیدن سؤالات درست را داشته باشید. در این مرحله باید بررسی کنید که آیا منابع موردنیاز را از نظر افراد، فناوری، زمان و داده برای پشتیبانی از پروژه در اختیار دارید یا خیر. شما همچنین باید مشکل کسبوکار را چارچوببندی و فرضیههای اولیه را فرمولبندی کنید.
مرحله ۲ – آمادهسازی دادهها: در این مرحله به یک سندباکس تحلیلی (Analytical Sandbox) نیاز دارید که در آن بتوانید تجزیهوتحلیل دادهها را در تمام طول مدت پروژه انجام دهید. همچنین قبل از مدلسازی، باید دادهها را بررسی و پیشپردازش کنید. شما میتوانید با استفاده از روشها و ابزارهای مختلف برای پاکسازی، تبدیل و مصورسازی دادهها استفاده کنید. این کار به شما کمک میکند تا نقاط پرت را تشخیص داده و بین متغیرها رابطه برقرار کنید.
مرحله ۳ – برنامهریزی مدل: هنگامی که دادهها را تمیز و آماده کردید، وقت آن است که با استفاده از فرمولهای آماری و ابزارهای مصورسازی مختلف روی آنها تحلیل اکتشافی انجام دهید. در این مرحله تعیین میکنید که از چه روشها و تکنیکهایی برای ترسیم روابط بین متغیرها استفاده کنید. این روابط پایه و اساسی برای پیادهسازی الگوریتمها در مرحلهی بعد خواهند بود. از ابزارهایی که از آنها برای برنامهریزی مدل استفاده میشود، میتوان به R ،SQL Analysis services ،SAS/ACCESS اشاره کرد.
مرحله ۴ – مدلسازی: در این مرحله باید برای آموزش و تست مدل مجموعه دادههایی را توسعه دهید. در این مرحله باید بررسی کنید که آیا ابزار شما برای اجرای مدلها کافی است یا به محیط قویتری برای پردازش سریع و موازی نیاز دارید. شما همچنین تکنیکهای مختلف مانند طبقهبندی (Classification)، قواعد انجمنی (Association) و خوشهبندی (Clustering) را برای ساخت مدل بررسی خواهید کرد. از ابزارهایی مثل SAS Enterprise Miner ،WEKA ،SPCS Modeler ،Matlab ،Alpine Miner ،Statistica میتوان برای ساخت مدل استفاده کرد.
مرحله ۵ – پیادهسازی: در این مرحله، گزارشهای نهایی، دستورالعملها، کدها و مستندات فنی را ارائه میکنید. علاوه بر این، یک پروژهی آزمایشی را در شرایط real-time اجرا میکنید. با این کار، قبل از استقرار کامل پروژه، درک واضحی از عملکرد و سایر محدودیتهای آن در مقیاس کوچک پیدا خواهید کرد.
مرحله ۶ – ارائهی نتایج: اکنون باید ارزیابی کنید و ببینید که آیا توانستهاید به هدفی که در مرحله اول برنامهریزی کرده بودید برسید یا خیر. در آخرین مرحله، تمام یافتههای کلیدی را شناسایی میکنید، با ذینفعان ارتباط برقرار میکنید و بر اساس معیارهای توسعهیافته در مرحلهی اول، موفقیت یا شکست پروژه را تعیین میکنید.
مطالعهی موردی
اکنون که فهمیدیم دیتا ساینس چیست و فرایندهای تحلیل داده شامل چه مراحلی هستند، بیایید از یک مجموعهدادهی فرضی استفاده کرده و قدمبهقدم کل چرخهی عمر علم داده را برای پیشبینی احتمال ابتلا به دیابت طی کنیم:
قدم اول:
ابتدا دادهها را بر اساس تاریخچهی پزشکی بیماران جمعآوری میکنیم:
همانطور که میبینید در این مجموعه از دادهها شاخصهای مختلفی داریم که در ادامه ذکر شدهاند:
شاخصها:
- npreg – تعداد دفعات بارداری
- glucose – غلظت گلوکز پلاسما
- bp – فشار خون
- skin – ضخامت چربی عضله سهسر بازویی
- bmi – شاخص توده بدنی
- ped – سابقهی خانوادگی دیابت
- age – سن
- income – درآمد
قدم دوم:
اکنون باید دادهها را پاکسازی و آماده کنیم. این دادهها، تناقضات زیادی مانند دادههای ازدسترفته، ستونهای خالی، مقادیر غیرمنتظره و نادرست و فرمت نادرست دارند که باید اصلاح شوند. ما دادهها را در یک جدول وارد کردهایم تا آمادهسازی و پاکسازی آنها آسانتر شود.
این دادهها دارای تناقضات زیادی هستند:
- در ستون npreg، یکی از دادهها در قالب کلمه نوشته شده، در حالی که باید به شکل عددی باشد.
- در ستون bp، یکی از مقادیر ۶۶۰۰ است که حداقل برای انسان غیرممکن است و bp نمیتواند به چنین مقداری برسد.
- همان طور که میبینید ستون درآمد خالی است و در پیشبینی دیابت نیز معنی ندارد. بنابراین، وجود آن در اینجا اضافی است و باید از جدول حذف شود.
بنابراین، ما دادهها را با حذف نقاط پرت، پر کردن مقادیر تهی و اصلاح نوع داده، پاکسازی و پیشپردازش خواهیم کرد. در نهایت، دادههایی مطابق جدول زیر خواهیم داشت که میتوان از آنها برای تحلیل استفاده کرد.
قدم سوم:
اکنون دادهها را در سندباکس تحلیلی بارگذاری کرده و توابع آماری مختلفی را روی آنها اعمال میکنیم. به عنوان مثال، R دارای توابعی مانند describe است که تعداد مقادیر ازدسترفته و مقادیر منحصربهفرد را به ما میدهد. همچنین میتوانیم از تابع summary استفاده کنیم که اطلاعات آماری مانند میانگین، میانه، بازه، مینیمم و ماکزیمم را به ما میدهد. سپس از روشهای مصورسازی استفاده میکنیم تا درک درستی از توزیع دادهها به دست آوریم.
قدم چهارم:
از آنجایی که، ما از قبل شاخصههای اصلی مانند npreg ،bmi و… را در اختیار داریم، از تکنیک یادگیری نظارتشده برای ساخت مدل استفاده خواهیم کرد. علاوه بر این از درخت تصمیم (Decision Tree) استفاده میکنیم؛ زیرا همهی شاخصها چه آنهایی که رابطهی خطی دارند و چه آنهایی که رابطهی غیرخطی دارند را یکجا در نظر میگیرد. در این مجموعه داده، یک رابطهی خطی بین npreg و سن وجود دارد، در حالی که رابطهی بین npreg و ped غیرخطی است. مدلهای درخت تصمیم بسیار قوی هستند؛ زیرا میتوانیم از ترکیب متفاوتی از شاخصها برای ایجاد درختهای مختلف استفاده کرده و درنهایت از مدلی که حداکثر کارایی را دارد استفاده کنیم. بیایید به درخت تصمیم خود نگاهی بیندازیم:
در اینجا مهمترین پارامتر سطح گلوکز است، بنابراین گره ریشه (Root Node) است. حالا گره فعلی و مقدار آن، پارامتر مهم بعدی را تعیین میکند. این کار ادامه پیدا میکند تا زمانی که به نتیجهی «pos» یا «neg» برسیم. pos به این معناست که فرد مستعد ابتلا به دیابت است و neg به این معنا که فرد احتمال ابتلا به دیابت وجود ندارد.
قدم پنجم:
در این مرحله، یک پروژه آزمایشی کوچک را اجرا خواهیم کرد تا بررسی کنیم که آیا نتایج ما مناسب هستند یا خیر. همچنین مدل را برای محدودیتهای عملکردی بررسی خواهیم کرد. اگر نتایج دقیق نیستند، باید مدل را دوباره برنامهریزی کرده و ایجاد کنیم.
قدم ششم:
هنگامی که پروژه را با موفقیت اجرا کردیم، خروجی را برای استقرار کامل به اشتراک خواهیم گذاشت.
چگونه یک دانشمند داده شویم؟
علم داده نگاه ما به دنیای غرق در دادههای اطرافمان را تغییر داده است. بنابراین، اشتباه نخواهد بود که بگوییم آینده متعلق به دانشمندان داده است. همان طور که در تصویر زیر نشان داده شده است، یک دانشمند داده اساساً به مهارتهایی در سه حوزهی اصلی علوم کامپیوتر، ریاضیات و حوزهای که در آن مشغول به کار است، نیاز دارد.
شما باید مهارتهای سخت و نرم مختلفی را کسب کنید. برای تحلیل و مصورسازی دادهها باید دانش آمار و ریاضیات داشته باشید. نیازی به گفتن نیست که یادگیری ماشین قلب علم داده را تشکیل میدهد. بهعنوان یک دانشمند داده برای پیادهسازی الگوریتمهای مختلف، باید بتوانید کدنویسی کنید. همچنین، باید درک کاملی از حوزهای که در آن کار میکنید داشته باشید تا بتوانید مشکلات کسبوکار را بهوضوح درک کرده، رشد کسبوکار را در سالهای آینده پیشبینی و استراتژیهایی را بر اساس دادهها ارائه کنید. علاوه بر همهی اینها مهارتهای ارتباطی خوب برای ارتباط مفید با سازمانها و سهامداران اهمیت دارد.
منبع: