داده کاوی با پایتون-روش الگوریتم CRISP

 

روشهای داده کاوی

 

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

 

فرایند داده کاوی

کشف دانش از پایگاه داده ها:  Knowledge Discovery in Databases (KDD) 

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_single_image image=”4311″ img_size=”full” alignment=”center”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

 همانطور که در تصویر بالا مشاهده می کنید داده کاوی یکی از مراحل فرایند کشف دانش را تشکیل میدهد.

دیتاماینینگ  در کل مراحل و روش های مختلفی دارد.

برای داده کاوی اول باید

  • داده ها را  تمیز کرد
  • دسته بندی کرد
  • مشکلاتی که دارند رو حل کرد

و … که در آموزش قبلی که لینکش را در بالا قرار دادیم توضیح دادیم.

 

 

روش الگوریتم   CRISP

Cross-industry standard process for data mining:فرایندهای استاندارد صنعت متقابل برای داده‌ کاوی (ویکی)

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

مراحل الگوریتم کریسپ

 

 یکی از پرکاربردترین مدل های تحلیلی، مدل کریسپ دی بی است که  شامل شش مرحله است:

  1. درک کسب و کار
  2. درک داده ها
  3. آماده سازی داده ها
  4. مدل سازی
  5. ارزیابی
  6. گسترش

همانطور که در شکل زیر نشان داده شده است، این مراحل به طور کلی به ترتیب انجام می شوند، اما اغلب لازم است به مراحل قبلی برگردید و کارهای خاصی را تکرار کنید.

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_single_image image=”4315″ img_size=”full” alignment=”center”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

فهم کسب و کار(Business Understanding) در CRISP

هر پروژه خوب با درک عمیق اهداف  کسب و کار شروع می شود. پروژه های داده کاوی هم از این قاعده مستثنی نیستند و CRISP-DM این  موضوع را تشخیص می دهد.

 بخش اول شامل موارد زیر است:

  • تعیین اهداف کسب و کار: ابتدا باید از دیدگاه تجاری، آنچه را که مشتری واقعاً می‌خواهد به انجام برساند، کاملاً درک کنید سپس معیارهای موفقیت کسب و کار را تعریف کنید.
  • ارزیابی وضعیت: در دسترس بودن منابع، تعیین نیازهای پروژه، ارزیابی خطرات و تجزیه و تحلیل سود-زیان را انجام دهید.
  • تعیین اهداف داده کاوی: علاوه بر تعریف اهداف کسب و کار، باید تعریف کنید که موفقیت از دیدگاه داده کاوی فنی چگونه به نظر می رسد.
  • تولید طرح پروژه: فناوری ها و ابزارها را انتخاب کنید و برای هر مرحله پروژه برنامه های دقیق تعریف کنید.

در حالی که بسیاری از تیم ها در این مرحله عجله دارند، ایجاد یک درک قوی از تجارت مانند زیر سازی یک خانه کاملا ضروری است.

درک داده ها در CRISP

مرحله دوم مرحله درک داده است. یعنی  تمرکز بر شناسایی، جمع آوری و تجزیه و تحلیل مجموعه داده هایی که می توانند به شما در دستیابی به اهداف پروژه کمک کنند. این مرحله نیز دارای چهار وظیفه است:

  1. جمع آوری داده های اولیه
  2. توصیف داده‌ها
  3. کاوش در داده ها: عمیق تر در داده ها کاوش کنید، پرس و جو کنید، تجسم کنید و روابط بین داده ها را شناسایی کنید.
  4. بررسی کیفیت داده ها: داده ها چقدر تمیزیا کثیف هستند؟ هرگونه مشکل کیفیت را بررسی کنید.
  5.  

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

 آماده سازی داده ها در CRISP

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

این مرحله دارای پنج وظیفه است:

  1. انتخاب داده(از پایگاه داده، فایل ها و غیره)
  2. پاک کردن داده های تمیز از کثیف(شناسایی و رفع خطاها در داده ها، مقابله با داده های از دست رفته و غیره)
  3. یکپارچه سازی داده ها (ادغام مجموعه داده های مختلف)
  4. تبدیل و غنی سازی داده ها (ایجاد ویژگی های جدید از ویژگی های موجود)

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

مدل سازی در CRISP

آنچه که به طور گسترده به عنوان هیجان انگیزترین کار علم داده در نظر گرفته می شود، اغلب کوتاه ترین مرحله پروژه است.

در اینجا احتمالاً مدل‌های مختلف را بر اساس چندین تکنیک مدل‌سازی مختلف می‌سازید و ارزیابی می‌کنید. 

این مرحله چهار وظیفه دارد:

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

در عمل شما باید  مراحل را به صورت تکراری ادامه دهید تا زمانی که مدل به‌ اندازه کافی از طریق  چرخه ی  CRISP-DM خوب به نظر برسد و در آینده مدل بهبود پیدا کند. 

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

ارزیابی در CRISP

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

  • ارزیابی نتایج: آیا مدل ها معیارهای موفقیت کسب و کار را دارند؟ کدام یک را برای کسب و کار تایید می کنید؟
  • فرآیند بررسی: کار انجام شده را مرور کنید. آیا چیزی نادیده گرفته شد؟ آیا همه مراحل به درستی اجرا شد؟ یافته ها را خلاصه کنید و در صورت نیاز هر چیزی را تصحیح کنید.
  • مراحل بعدی را تعیین کنید: بر اساس سه وظیفه قبلی، تعیین کنید که آیا باید به ارزیابی ادامه دهید یا پروژه های جدید را آغاز کنید.

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

گسترش یا تکرار در CRISP

 مرحله ارزیابی می تواند به سادگی تولید یک گزارش یا به پیچیدگی اجرای یک فرآیند داده کاوی تکرارپذیر در سراسر پروژه باشد.

ایجاد مدل معمولاً پایان پروژه نیست  حتی اگر هدف مدل افزایش دانش از داده ها باشد، دانش به دست آمده باید به گونه ای سازماندهی و ارائه شود که برای مشتری مفید باشد. 

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

در یک پروژه معین، ما می دانیم که در ابتدای اولین پروژه خود ممکن است دانش دامنه زیادی نداشته باشیم، یا ممکن است مشکلاتی با داده ها وجود داشته باشد یا مدل ممکن است به اندازه کافی ارزشمند نباشد که تولید شود. 

موضوع مهم  در مورد مدل CRISP-DM این است که به ما اجازه می‌دهد این کار را انجام دهیم. این یک مسیر خطی واحد از شروع پروژه تا ارزیابی نیست. این الگوریتم به شما کمک می کند به خاطر داشته باشید که به خاطر اینکه مجبور هستید یک قدم به عقب برگردید، خود را مورد ضرب و شتم قرار ندهید. همچنین شما را به چیزی مجهز می کند تا به مدیران توضیح دهید که گاهی اوقات باید بین برخی از مراحل جهش کنید، و این مشکلی ندارد.

همانطور که در تصویرهم  مشاهده می شود مراحل توسط فلش هایی به همدیگر راه دارند که جهت تکمیل هر مرحله استفاده میشود.

دایره بزرگ هم نشان دهنده ی تکمیل کل فرایند و آماده شدن آن برای استفاده در این پروژه یا پروژه های دیگر است.

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

CRISP-DM از نوع چابک است یا آبشار؟

برخی معتقد هستند این الگوریتم  انعطاف پذیر و چابک (agile) است و برخی دیگر CRISP-DM را سخت و آبشاری (waterfall) می دانند. آنچه واقعاً مهم است نحوه اجرای آن است.

مدل آبشار در  CRISP-DM 

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

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_single_image image=”24569″ img_size=”full” alignment=”right”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

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

در واقع، اگر دقیقاً از CRISP-DM پیروی می‌کنید و ترجیح می‌دهید مکرراً تکرار نشوید، بیشتر از یک فرآیند آبشاری استفاده می‌کنید.

مدل چابک در CRISP-DM

 مدل Agile مدلی مبتنی بر تکرار است از سوی دیگر، CRISP-DM به طور غیرمستقیم از اصول و شیوه‌های چابک دفاع می‌کند و می‌گوید: توالی فازها سفت و سخت نیست. حرکت به مرحله قبلی و مرحله بعدی بین مراحل  مختلف همیشه مورد نیاز است. نتیجه هر مرحله تعیین می‌کند که کدام مرحله، یا کار خاص یک مرحله، باید در مرحله بعد انجام شود.

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_single_image image=”24570″ img_size=”full” alignment=”center”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

جمع بندی

در روش الگوریتم CRISP انتخاب بین Agile و Waterfall به تیم و پروژه شما بستگی دارد.

ویژگی های کلی پروژه‌های چابک 

  • ارزان‌تر بودن 
  • بالا بودن سرعت تحویل پروژه
  • انعطاف پذیری بیشتر
  • عدم قطعیت و ماهیت نامشخص
  •  ندانستن اینکه  پروژه نهایی قبل از شروع چگونه به نظر می‌رسد و پیش بینی پذیری کمتر

و پروژه‌های آبشار

  •  گران‌تر بودن
  • پایین بودن سرعت تحویل پروژه
  • رعایت قوانین سخت گیرانه
  • شفاف و ساختار یافته 
  •  تعریف هر مرحله را از ابتدا تا انتها و پیش بینی پذیر

[/vc_column_text][vc_zigzag][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

✨✨✨@pythonabb✨✨✨

🌐https://t.me/pythonabb

تازه ترین دیدگاهها

  1. دورود خدا قوت بزرگ وار خیلی خیلی چاکریم یه گیری ظاهرا کوچیکی داشتم که با کمک شما حل شد خواستم…

  2. درود متاسفانه پایتون پای دور اندروید(py 3) کار نکردم

  3. سلام برنامه در ویندوز با اضافه کردن root.mainloop اجرا میشود ولی اندازه پنجره geometry در پایتون پای دور اندروید(py 3)…

  4. سلام برنامه در ویندوز با اضافه کردن root.mainloop اجرا میشود ولی اندازه پنجره geometry در پایتون پایدور اندروید(py3) اجرا نمی…

[/vc_column_text][/vc_column][/vc_row]


دیدگاهتان را بنویسید

We are glad you have chosen to leave a comment. Please keep in mind that comments are moderated according to our comment policy.