الگوریتم های داده کاوی

الگوریتم های داده کاوی

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

الگوریتم وابستگی (Association algorithm)

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

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

 

الگوریتم خوشه بندی (Clustering algorithm)

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

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

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

 

الگوریتم درخت تصمیم (Decision Trees  algorithm)

درخت تصمیم یکی از قوی‌ترین و پرکاربردترین الگوریتم‌های داده‌کاوی است که برای کاوش در داده‌ها و کشف دانش کاربرد دارد. این الگوریتم داده‌ها را به مجموعه‌های مشخصی تقسیم می‌کند. هر مجموعه شامل چندین زیر مجموعه از داده‌های کم و بیش همگن که دارای ویژگی‌های قابل پیش بینی هستند تقسیم می‌شود.  برای مثال فرض کنید که اطلاعاتی از محصولات فروخته شده خود دارید. با بررسی این اطلاعات مشخص می‌شود که تعداد ۹ فروش از ۱۰ فروش محصول دوچرخه‌ توسط افراد ۱۵ تا ۲۵ ساله انجام گرفته است و تنها یک فروش برای افراد بالای ۲۵ سال داشته‌اید. از این اطلاعات می‌توان نتیجه گرفت که سن مشتری نقش مهمی در فروش دوچرخه‌های شما دارد.

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

الگوریتم رگرسیون خطی (Linear Regression algorithm)

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

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

 

 

الگوریتم بیز (Naive Bayes Algorithm)

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

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

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

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

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

 

الگوریتم شبکه های عصبی (Neural Network Algorithm)

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

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

الگوریتم شبکه های عصبی در موارد زیر پیشنهاد می‌شود:

بازاریابی، مانند رسیدن به موفقیت در ارسال نامه های تبلیغاتی

پیش‌بینی حرکت سهام، نوسانات نرخ ارز و یا سایر اطلاعات سیال مالی که دارای پیشینه هستند

تجزیه و تحلیل فرآیند‌ های تولیدی و صنعتی

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

 

الگوریتم رگرسیون منطقی یا لجستیک (Logistic regression algorithm)

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

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

 

الگوریتم خوشه بندی زنجیره‌ای (Sequence Clustering algorithm)

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

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

 

الگوریتم سری های زمانی (Time Series Algorithm)

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

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

یک کارخانه به پیش بینی درخواست های مشتریان در ماه های آینده جهت برنامه ریزی تولید نیاز دارد.

یک وب سایت باید رشد کاربری و ترافیک کاربران را به منظور استفاده از یک سخت افزار مناسب تخمین بزند.

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

 

 

دیدگاه خود را بنویسید: