انجام پروژه متلب کشف قواعد انجمنی

Association Rule Mining

انجام پروژه متلب کشف قواعد انجمنی

 

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

در اینجا به مثال‌هایی از کاربرد قوانین انجمنی اشاره می‌شود:

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

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

 

تعاریف و مفاهیم اصلی در قواعد انجمنی

I = {I 1 , I 2 , …, I m } : مجموعه اقلام خریداری شده است.

T: هر زیرمجموعه‌ای از I می‌باشد که از آن به عنوان تراکنش یاد می‌شود.

D: مجموعه تراکنش‌های موجود در T است.

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

نمای کلی یک قاعده انجمنی به شکل زیر می‌باشد:

[پشتیبان , اطمینان]

به طوری که داریم:

  • پشتیبان (X, Y): نشان دهنده‌ی درصد یا تعداد مجموعه تراکنش‌های D است که شامل هر دوی X و Y باشند.
  • اطمینان: میزان وابستگی یک کالای خاص را به دیگری بیان می‌کند و مطابق فرمول زیر محاسبه می‌شود:

 

این شاخص درجه‌ی وابستگی بین دو مجموعه X و Y را محاسبه می‌کند و به عنوان شاخصی برای اندازه‌گیری توان یک قاعده در نظر گرفته می‌شود. غالباً قاعده‌هایی انتخاب می‌شوند که عدد اطمینان بزرگی داشته باشند.

فرض کنید اطلاعات مشتریانی که محصول X را خریده‌اند، همچنین علاقه دارند در همان زمان از محصول Y نیز بخرند، در قاعده انجمنی زیر نشان داده شده است:

(پشتیبان = ۲۰% و اطمینان = ۶۰%)

شاخص‌های اطمینان و پشتیبان قواعد بیانگر جذابیت آن‌ها هستند. این دو شاخص به ترتیب مفید بودن و اطمینان از قواعد مکشوفه را نشان می‌دهند. پشتیبان ۲۰% برای قاعده انجمنی فوق به این معنی است که ۲۰% همه‌ی تراکنش‌های موجود نشان می‌دهند که کالای X و Y با هم خریداری شده‌اند. اطمینان ۶۰% به این معنی است که۶۰% مشتریانی که کالای X را خریده‌اند، کالای Y را نیز خریداری کرده‌اند.

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

Association Rule Mining: An Overview and its Applications

 

تقسیم بندی قواعد انجمنی

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

]۶۰% = confidence ,2% Computer Þ Financial management software [sup =

Buys (X, high resolution TV)

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

Buys (X, Computer) Þ Buys (X, “Financial management software”)

اما قاعده‌ی زیر  سه بعدی است، و ابعاد سن، درآمد و خرید را شامل می‌شود.

(X, high resolution TV) Buys Þ (“k48.. k42” X,) and income (“39..30” X,) Age

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

یکی از بهترین زبان های برنامه نویسی برای پیاده سازی این موضوع زبان برنامه نویسی متلب است.

 

Association Rule Learning - Javatpoint

استخراج قواعد تک‌سطحی تک بعدی دودویی

 

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

اقلام مطابق با قاعده ترتیب حروف الفبا چیده می‌شوند، به عنوان مثال، اگر  باشد، مطابق این قاعده، باید رابطه‌ی  برقرار باشد.

در تمامی این الگوریتم‌ها مراحلی که طی می‌شوند به قرار زیر می‌باشند:

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

گام دوم: در هر گذر، اقلام مکرر که از فاز قبلی، محاسبه شده‌اند برای ایجاد اقلام کاندیدا به کار می‌روند. (C K )

گام سوم: پشتیبان هر یک از C K ها محاسبه شده، و بزرگ‌ترین آن‌ها انتخاب می‌شود. این کار تا زمانی که هیچ قلم بزرگ‌تری یافت نشود، ادامه می‌یابد.

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

برای تمامی اقلام مکرر L همه‌ی زیرمجموعه‌های غیرتهی آن را (s) در نظر می‌گیریم. برای تمامی این زیرمجموعه‌ها، یک قاعده به صورت زیر استخراج می‌کنیم:

“s Þ (L – s)” این قاعده در صورتی برقرار می‌شود که اطمینان حاصل از آن بزرگ‌تر یا مساوی حداقل اطمینان در نظر گرفته شده توسط کاربر باشد، به بیان دیگر اگر رابطه‌ی زیر برقرار باشد، قاعده‌ی فوق پذیرفته می‌شود و در غیر این صورت این قاعده لغو می‌شود.

 

پروسه استخراج قواعد انجمنی عبارت است از:

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

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

هر زیر مجموعه‌ی یک مجموعه مکرر، خود نیز مکرر است. این خصوصیت را این‌گونه نیز می‌توان توصیف کرد: اگر مجموعه I به تعداد مشخصی تکرار شده باشد و اگر ما A را به آن اضافه کنیم تعداد تکرار این مجموعه از مجموعه قبلی بیشتر نخواهد بود. پس اگر اولی مکرر نباشد دومی نیز مکرر نخواهد بود. این الگوریتم از این خصوصیت استفاده می‌کند و در اینجا عملکرد آن را شرح می‌دهیم: می‌دانیم که از یک زیرمجموعه ۱-k عضوی یا همان L k-1 برای به دست آوردن L k یعنی مجموعه‌های k عضوی  استفاده می‌شود. این کار در دو مرحله صورت می‌گیرد، ابتدا باید مجموعه‌ای از اعضا پیدا شود که با ترکیب L K-1 با آن‌ها L k به دست آید. این مجموعه از عناصر را C k نامیده و مرحله به دست آوردن آن‌ها را پیوست می‌نامیم. مرحله بعد اضافه کردن این عناصر به مجموعه‌های قبلی است که آن را مرحله هرس می‌نامیم. در زیر این دو مرحله شرح داده می‌شوند.

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

بر روی لینک های زیر کلیک نمایید:

آموزش رایگان متلب

دانلود کد متلب

دانلود پروژه متلب