الگوریتم FP-Growth (Frequent Pattern Growth) یکی از روشهای کارآمد و محبوب در دادهکاوی برای کشف الگوهای مکرر و قوانین انجمنی (Association Rules) از مجموعه دادههای تراکنشی است. نرمافزار وکا (Weka) به عنوان یک ابزار قدرتمند متنباز در زمینه یادگیری ماشین و دادهکاوی، این الگوریتم را به صورت آماده برای استفاده فراهم کرده است. این راهنما به شما نشان میدهد چگونه FP-Growth را در محیط گرافیکی Weka Explorer پیادهسازی کنید.
آمادگی قبل از پیادهسازی: درک دادهها
قبل از اجرای الگوریتم، بسیار مهم است که دادههای شما در قالب مناسبی باشند. وکا از فرمت ARFF (Attribute-Relation File Format) برای ورود دادهها استفاده میکند. برای الگوریتم FP-Growth، هر نمونه (Instance) در فایل ARFF باید یک تراکنش را نشان دهد و هر صفت (Attribute) نماینده یک قلم (Item) باشد.
ساختار دادههای ARFF برای FP-Growth:
- تراکنشها: هر خط از دادهها (بعد از بخش @data) یک تراکنش را نشان میدهد.
- قلمها (Items): هر قلم باید به عنوان یک صفت Nominal یا Boolean تعریف شود.
- Nominal: اگر از نوع Nominal استفاده میکنید، مقادیر ممکن برای هر قلم معمولاً شامل نام قلم (برای حضور) و ‘?’ (برای عدم حضور) یا ‘true’/‘false’ است.
- Boolean: اگر از نوع Boolean استفاده میکنید، مقادیر ‘true’ نشاندهنده حضور قلم و ‘false’ نشاندهنده عدم حضور آن است.
مراحل پیادهسازی FP-Growth در Weka Explorer
گام 1: باز کردن Weka Explorer و بارگذاری دادهها
- اجرای Weka: نرمافزار وکا را باز کنید و گزینه “Explorer” را انتخاب نمایید.
- بارگذاری فایل ARFF: به تب “Preprocess” بروید. روی دکمه “Open file…” کلیک کنید و فایل ARFF آمادهسازی شده خود را انتخاب و بارگذاری کنید. پس از بارگذاری، خلاصهای از آمار و ویژگیهای مجموعه داده شما نمایش داده خواهد شد.
گام 2: انتخاب و تنظیم الگوریتم FP-Growth
- رفتن به تب Associate: از نوار تبهای بالای پنجره Weka Explorer، تب “Associate” را انتخاب کنید.
- انتخاب الگوریتم: در قسمت “Associator”، روی دکمه “Choose” کلیک کنید. از لیست باز شده، مسیر
weka.associations.FPGrowthرا پیدا کرده و آن را انتخاب کنید. - تنظیم پارامترها: برای تنظیم پارامترهای FP-Growth، روی نام الگوریتم (که اکنون زیر دکمه Choose نمایش داده میشود) کلیک کنید. یک پنجره جدید با گزینههای تنظیمات باز خواهد شد:
minSupport(حداقل پشتیبانی): این مهمترین پارامتر است.minSupportحداقل درصدی (به صورت اعشاری بین 0 تا 1) از تراکنشها را تعیین میکند که یک مجموعه اقلام باید در آنها ظاهر شود تا به عنوان مکرر در نظر گرفته شود. برای مثال، اگر0.1را تنظیم کنید، به این معنی است که الگوهای مکرر باید حداقل در 10% از تراکنشها وجود داشته باشند.numRules(تعداد قوانین): حداکثر تعداد قوانین انجمنی که الگوریتم باید پیدا کند. (پیشفرض: 10)maxNumberOfItems(حداکثر تعداد اقلام): حداکثر تعداد اقلامی که میتوانند در یک مجموعه اقلام مکرر یا یک قانون انجمنی وجود داشته باشند. (پیشفرض: -1 که به معنای بدون محدودیت است)lowerBoundMinSupport: این پارامتر نیز حداقل پشتیبانی را تعیین میکند، اما در برخی نسخهها و تنظیمات خاص FP-Growth کاربرد دارد. معمولاًminSupportبرای تعیین آستانه کافی است.- پس از اعمال تغییرات، روی “OK” کلیک کنید.
گام 3: اجرای الگوریتم و مشاهده نتایج
- شروع پردازش: در پایین سمت راست پنجره Weka Explorer، روی دکمه “Start” کلیک کنید. الگوریتم شروع به اجرا بر روی مجموعه داده بارگذاری شده میکند.
- مشاهده خروجی: پس از اتمام اجرای الگوریتم، نتایج در قسمت “Associator output” در سمت راست پنجره نمایش داده میشوند. این نتایج شامل دو بخش اصلی هستند:
-
Frequent Itemsets (مجموعههای اقلام مکرر): لیستی از تمام مجموعههای اقلامی که معیار
minSupportتعیین شده را برآورده کردهاند. هر مجموعه به همراه پشتیبانی (Support) خود نمایش داده میشود. -
Support (پشتیبانی): نشاندهنده فراوانی یا نسبت رخداد یک مجموعه اقلام در کل تراکنشها است. برای مثال:
{Milk, Bread} (Support: 0.25)به این معناست که 25% از تراکنشها شامل هر دو قلم “شیر” و “نان” بودهاند. -
Association Rules (قوانین انجمنی): اگر الگوریتم برای تولید قوانین انجمنی نیز پیکربندی شده باشد، لیستی از قوانین به همراه معیارهای ارزیابی آنها (Confidence و Lift) نمایش داده میشود.
-
Confidence (اطمینان): نشاندهنده احتمال رخداد بخش نتیجه (Consequent) یک قانون، به شرط رخداد بخش پیشفرض (Antecedent) آن است. برای مثال:
Milk => Bread (Conf: 0.75)یعنی اگر “شیر” خریداری شود، 75% احتمال دارد که “نان” نیز خریداری شود. -
Lift (لیفت): معیاری برای سنجش قدرت ارتباط بین دو مجموعه اقلام در یک قانون. مقدار لیفت بیشتر از 1 نشاندهنده ارتباط مثبت، کمتر از 1 نشاندهنده ارتباط منفی و برابر با 1 نشاندهنده عدم ارتباط (استقلال) است. برای مثال:
Milk => Bread (Lift: 1.5)به این معناست که خرید “شیر” احتمال خرید “نان” را 1.5 برابر افزایش میدهد.
تفسیر نتایج
- با بررسی Frequent Itemsets میتوانید الگوهای خرید رایج را شناسایی کنید.
- قوانین انجمنی بینشی عمیقتر در مورد روابط بین اقلام به شما میدهند و میتوانند برای تصمیمگیریهای بازاریابی، چیدمان فروشگاه یا سیستمهای توصیهگر استفاده شوند.
با دنبال کردن این مراحل، میتوانید به راحتی الگوریتم FP-Growth را در وکا اجرا کرده و از قدرت آن برای کشف الگوهای ارزشمند در دادههای خود بهرهبرداری کنید.
کلیدواژه ها : FP-Growth-Weka-پیادهسازی FP-Growth-الگوریتم FP-Growth در وکا-دادهکاوی-Frequent Itemsets-Association Rules-ARFF-minSupport-Confidence-Lift-تحلیل سبد خرید-Weka Explorer