داده کاوی با پایتون

چگونه از پایتون برای داده کاوی استفاده کنیم؟

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

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

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

پیشنهاد مقاله: آیا بازار کار زبان برنامه نویسی پایتون در ایران خوب است؟

داده کاوی چیست ؟

داده کاوی با هدف ساخت یک مدل از مجموعه داده‌های معین انجام می‌شود. تشخیص خودکار کلاهبرداری و پول‌شویی در بانک‌ها و موسسات اعتباری یک مثال واقعی از کاربرد داده کاوی هستند.

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

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

نمونه مذکور، یک مثال ساده از کاربردهای قدرتمند داده کاوی است. سایر کاربردهای داده کاوی مثل توالی ژنومی (Genomic Sequencing) و تجزیه و تحلیل شبکه‌های اجتماعی و تحلیل تصاویر از کاربردهای داده کاوی در مقیاس گسترده هستند.

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

شرکت دانش بنیان بامداد ارائه می‌کند:

در بوتکمپ برنامه‌نویسی پایتون ، در حداقل زمان به یک برنامه‌نویس پایتون بدل شوید.

از چه روش‌هایی در داده‌کاوی استفاده می‌شود؟

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

رگرسیون Regression: راهکاری برای تخمین و برآورد ارتباط میان متغیرها با استفاده از بهینه‌سازی کاهش خطا است. به بیان دقیق‌تر، یک رویکرد آماری است که قدرت و ویژگی ارتباط بین یک متغیر وابسته (که به‌طور معمول با Y نشان داده می‌شود) و یک سری متغیرهای دیگر (معروف به متغیرهای مستقل (X) ) تعیین می‌شود.

تکنیک رگرسیون برای امور مالی، سرمایه‌گذاری و بورس کاربرد دارد. اگر ارتباط میان متغیر وابسته و متغیرهای مستقل با استفاده از تکنیک رگرسیون مشخص شود، می‌توان از قبل متغیر وابسته را پیش‌بینی کرد.

با وجود این‌که روش‌های رگرسیونی گسترده هستند، اما برخی از آن‌ها کاربرد بیشتری دارند. از جمله رگرسیون‌های معروف باید به رگرسیون خطی (Linear Regression)، رگرسیون لجستیک (Logistic Regression)، رگرسیون چندکی (Quantile Regression)، رگرسیون ستیغی (Ridge Regression) و رگرسیون لاسو (Lasso Regression) اشاره کرد.

طبقه‌بندی (Classification): تکنیکی است که موارد موجود در یک مجموعه به دسته‌ها یا کلاس‌های هدف اختصاص داده می‌شوند. هدف در روش طبقه‌بندی، پیش‌بینی دقیق کلاس هدف برای هر یک از عناصر موجود در داده‌ها است.

به‌طور مثال، با استفاده از یک مدل طبقه‌بندی می‌توان افراد متقاضی وام را با عناون‌هایی مثل دارای ریسک اعتباری کم، متوسط یا زیاد شناسایی کرد. همچنین، با استفاده از تکنیک مذکور طبقه‌بندی ایمیل‌ها بر مبنای این‌که ایمیل‌ها معتبر هستند یا اسپم، وجود دارد.

تحلیل خوشه‌ای (Cluster Analysis): پیدا کردن گروه‌بندی طبیعی اشیای داده بر مبنای ویژگی‌های شناخته شده داده‌ها را تحلیل خوشه‌ای می‌نامند. از تکنیک فوق بیشتر در دنیای بازاریابی استفاده می‌شود. در بازاریابی، تجزیه و تحلیل می‌تواند منجر به آگاهی از گروه‌بندی‌های مشتریان و رفتار منحصر به فرد هر یک از آن‌ها شود و به کارگیری این موضوع در تصمیمات استراتژیک کسب و کار متداول است.

تجزیه و تحلیل ارتباط و وابستگی Association and Correlation Analysis: یک تکنیک جست‌جوگر است. به این صورت که آیا بین متغیرها روابط یکتایی وجود دارد که این روابط از ابتدا مشهود نبوده‌اند. به بیان دقیق‌تر، در تکنیک فوق‌الذکر ارتباط بین دو یا چند متغیر را بررسی و در مورد یکپارچه بودن آن رابطه استنباط‌هایی انجام می‌دهیم.

تجزیه و تحلیل داده‌های پَرت (Outlier Analysis): راهکاری برای بررسی پدید آمدن و جمع‌آوری داده‌های پرت است. به‌طور معمول از تکنیک فوق در ارتباط با تشخیص کلاهبرداری استفاده می‌شود تا مشخص شود الگوی رفتاری یک مشتری عادی است یا خیر. متخصصان علم داده‌ها از تکنیک فوق در مشاهده‌های غیرعادی یا دارای مغایرت موجود در مجموعه داده‌ها استفاده می‌کنند.

پیشنهاد مقاله: داده کاوی چیست ؟ – آشنایی با مفاهیم بنیادین علم داده کاوی

از چه کتابخانه‌های پایتون برای داده‌کاوی می‌توان استفاده کرد؟

برای این‌که پایتون به عنوان ابرای کارمد در ارتباط با داده کاوی استفاده کنید، در اولین گام باید کتابخانه‌های موردنیاز را نصب کنید. از مهم‌ترین کتابخانه‌هایی که برای داده‌کاوی در دسترس برنامه‌نویسان پایتون قرار دارد به موارد زیر باید اشاره کرد:

Numpy: نام‌پای یک بسته مهم برای محاسبات علمی است که ساختاری تطبیق‌پذیر برای کار با آرایه‌ها دارد. این کتابخانه غنی امکاناتی مثل آرایه چندبعدی، اشیا مشتق شده و مجموعه‌ای از روال‌ها برای عملیات سریع روی آرایه‌ها را ارایه می‌کند. به بیان دقیق‌تر، نام‌پای ابزار کاربردی در ارتباط با مباحث جبر خطی و عملیات‌ برداری یا ریاضیاتی است.

Scipy: سای‌پای مجموعه‌ای از ابزارهای آماری در اختیار توسعه‌دهندگان قرار می‌دهد. سای‌پای کتابخانه متن بازی است که برای حل مسائل ریاضی، علمی، مهندسی و فنی استفاده می‌شود. با استفاده از این کتابخانه قدرتمند کاربران می‌توانند عملیاتی مثل دستکاری و تصویرسازی داده‌ها را همراه با به کارگیری طیف گسترده‌ای از دستورات سطح بالای پایتون انجام دهند. لازم به توضیح است که SciPy مبتنی بر کتابخانه نام‌پای است

Matplotlib: این کتابخانه پایتون برای مصورسازی و ساخت نمودارهای مختلف استفاده می‌شود.

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

Gensim: ژنیسم یکی دیگر از کتابخانه‌ها متن‌باز رایگان پایتون است که برای نمایش اسناد به عنوان بردارهای معنایی استفاده می‌شود. Gensim با استفاده از الگوریتم‌های یادگیری بدون نظارت و برای پردازش متون دیجیتالی خام و بدون ساختار و متن ساده استفاده می‌شود.

چه توسعه‌دهندگانی باید به سراغ یادگیری داده کاوی با پایتون بروند؟

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

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

روش‌های ارزیابی مدل‌های داده کاوی

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

روش ارزیابی مدل برای مسائل طبقه‌بندی

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

نکته مهمی که باید به آن دقت کنید این است که به‌کارگیری داده‌های آموزشی در آموزش مدل یک مفهوم ساده و پایه است. در نهایت مدل آموزش داده شده امکان پیش‌بینی برچسب کلاس مربوط به داده‌های مشاهده نشده را خواهد داشت. از جمله روش‌ها و معیارهای ارزیابی مدل برای مسائل طبقه‌بندی باید به معیار دقت (Accuracy)، معیار پوشش (Recall)، معیار صحت (Precision)، معیار امتیاز (F1 Score) و استفاده از منحنی ROC‎ اشاره کرد.

رویکرد ارزیابی مدل برای مسائل رگرسیون

یکی از رایج‌ترین مسائل علوم کامپیوتر مسائل رگرسیون هستند. در رویکرد فوق به جای این‌که یک کلاس یا برچسب به شکل گسسته برای مشاهده پیش‌بینی شود، یک مقدار پیوسته و مستمر برای مشاهده پیش‌بینی می‌شود.

مسائل رگرسیون به دو نوع خطی و غیرخطی طبقه‌بندی می‌شوند. از مهم‌ترین معیارهای ارزیابی مدل‌ رگرسیون باید به میانگین خطای مطلق ( Mean Absolute Error)، خطای جذر میانگین مربعات (Root Mean Squared Error)، ضریب تعیین (Coefficient of Determination) و ضریب تعیین تعدیل شده ( R^2 adjusted) اشاره کرد.

رویکرد ارزیابی مدل برای مسائل خوشه‌بندی

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

متخصصان داده‌ کاوری از روش‌های مختلفی برای تخمین شباهت میان دو شی وجود دارد که از مهم‌ترین آن‌ها باید به شباهت کسینوسی (Cosine Similarity)، فاصله منهتن (Manhattan Distance) و شباهت فاصله اقلیدسی (Euclidean Distance Similarity) اشاره کرد.

با توجه به اینکه در راه‌حل تحلیل خوشه‌ای برچسب‌های اولیه وجود ندارند، این امکان وجود ندارد از معیارهای ارزیابی مدل‌های طبقه‌بندی مثل Accuracy ،Recall ،Precision و F1 score استفاده کرد. از سوی دیگر، باید دقت کنید که اشیا مشابه در خوشه‌های یکسانی قرار می‌گیرند.

ارزیابی نتایج خوشه‌بندی می‌تواند از دو دیدگاه شاخص درونی (Internal Index) و شاخص بیرونی (External Index) بررسی شود. اگر فرض را بر این موضوع قرار دهیم که خوشه‌ها دوار هستند، می‌توان کیفیت یک خوشه را از طریق قطر دایره یا حداکثر فاصله بین هر دو شی موجود در یک خوشه نشان داد. از معیارهای ارزیابی درونی مدل خوشه‌بندی باید به معیار نیم‌رخ (Silhouette Coefficient) و شاخص دان (Dunn’s Index) اشاره کرد.

در این مقاله مبانی اولیه مرتبط با داده کاوی در پایتون را بررسی کردیم. در شماره بعد در قالب یک داده‌ کاوی در پایتون را در قالب یک پروژه عملی بررسی می‌کنیم.

نویسنده: حمیدرضا تائبی

منابع:

https://www.pluralsight.com/guides/evaluating-a-data-mining-model

https://www.analyticsvidhya.com/blog/2020/10/quick-guide-to-evaluation-metrics-for-supervised-and-unsupervised-machine-learning/

https://www.alchemer.com/resources/blog/cluster-analysis/

https://www.springboard.com/blog/data-science/data-mining-python-tutorial/

ثبت ديدگاه