بسم الله والحمد لله والصلاة والسلام على رسول الله
أهلا وسهلا بكم في تكملة chapter الـ Protective
Modelling أو الـ Frequent Pattern كنا تكلمنا سابقا
على مفهوم الـ Quote للتسجيلات السابقة على مفهوم
الـ Frequent Pattern وشو ال association role
وتكلمنا على ال support و ال confidence as
measurement
تحديد قوة الـ association role الـ frequent better
واتكلمنا على الابريريو algorithm كواحد من أهم ال
algorithm في وجود ال .. أو في الوصول ل ال
association roles و لكن قلنا ان في عندنا مجموعة من
ال drawbacks على مستوى ال ..الـ Algorithm اللي
عندنا منها انه انا فعليا في عندى multiple scan
طبعا من ال drawbacks دي اللي علاقة كلها بال
computation انه بتزيد من التكلفة الزمنية او
الحسابية لل algorithm اللي موجود عندنا ال multiple
scan او عدد ال number of candidates و ببدأ من
candidate واحد و ببدأ يجمعهم وبالتالي كان العدد
كبير العمل الممل و تكراره في موضوع العدل حسبة ال
support اللي موجود عندناممكن نقل
العدد مرات القراءة لل database أو نقل العدد ال
candidates اللي موجودين عندنا
بنتكلم عن طريقة كيف نسرع فيها أو نحسن فيها موضوع
العدل ال candidates نحسب ال support ال candidates
اللي موجودة عندنا وبشكل عام ممكن يعتمد ال parallel
computing من أجل تسريع الدأ العملية بشكل عام الان
ان شاء الله تعالى هنتكلم عن الوقولنا واحدة من
الحلول المتاحة عندي انه انا بحاول اوشد اوجد ال
frequent pattern بدون ما يكون في عندي ال candidate
generation طبعا احنا الآن بس من باب التأكيد انه ال
bottleneck او الحلق اللي .. خلنا نقول نقطة الازحام
او الحلق الأضعف في ال a priori approach ان هو ال
bred first search ال bred first search عشان يا
معنى الخير هي مصطلحات مسمة موجودة في ال data
structure اذا كنا بنتذكرها ومقصود فيها انه انا
البحث بتم في ال level wiseأيش يعني في الـ Level
-wise؟ المبدأ هذا جاي من أن في عندي موضوع Tree بغض
النظر الـ Structure تبعت الـ Tree فلاحية أو ربعية
و الاخرين فمفهوم ال bred first ان انا باخد level
level و بنتقل على كل عناصر ال level بعدين بروح على
ال level التاني و بمشي فيه طبعا هذه ال approach
لأنه فعليا كان بيبني كل ال candidates اللي من C1
وبعد ذلك ننتقل لـ Candidate C2 من الـ two elements
و Candidate C3 و هكذا وهذا طبعا اللي فعليا اللي
بياخد مني وجه طويل جدا بينما ال .. ال .. ال F
growth أو ال frequent pattern growth approach اللي
انا بدي اشتغل بدون ما ادور على ال candidates بشتغل
على مبدأ ال depth first search انه دائما انزل أعمق
نقطة في ال tree تمام؟وبعدها تشوف النقطة الأعمق
ومساوية لها و هكذا لما حد تخلص لقريتك وبالتالي هان
احنا بيصير في عندي اكسب list of avoidance لموضوع
ال candidate generation يعني بيصير في عندي بشكل
تلقائي انه التجنب او
الاساسي المصطلح أو الفلسفة الأساسية اللى بنى عليها
ال candidate او ال FB Growth ان الـ long patterns
ممكن تبنى من short patternsاللي كانت الـ frequent
items only وعشان كل كلام هذا يعني بكل بساطة بقولك
انا لو كان في عندي مجموعة من ال short ال frequent
peters اللي هدول المجموعة ال short ممكن يكونوا
لواحد اكبر منهم long peters على سبيل المثال لو كان
في عندي ال ABC is a frequent peter في ال data set
اللي عندي معناه انت ممكن تروح تجيب كل ال peters او
ال transaction اللي بتحتوي علىالـ ADC مثلا لو كان
frequent يعني ان كل ال patterns اللي بتحتوي على ال
ADC هن بيقول ان لو كان في عندي كمان frequent كمان
في عندي local frequent pattern اخر D وليكن على
سبيل المثال يعني لو اضفت ال D على كل frequent
patterns اللي موجودين عندي هن على اللي موجودة من
ال database هيكون عنديالـ A,B,C,D عبارة عن
frequent pattern يعني انا عندي A,B,C عبارة عن
frequent pattern وعندي ال D كمان frequent pattern
فحتما هيكون عندي A,B,C,D frequent pattern حتى لو
جل السببورت تبعته بس مش هنزل عن ال minimum support
ليش؟ لأنه بما انه ال support لهذه أكبر أو تساوي ال
minimum supportوديها دي ال support تبعتها أقل أو
تساوي ال minimum support فحتما هذا التنين هيكون
أكبر أو يساوي ال minimum support مش هيقل عنه بأي
حالة من الأحوال لأن التنين frequentالفكرة كمان مرة
ان انا فعليا احاول اعمل ركيز ركيرسيفلي growing لل
frequent pattern انشئ ال pattern بشكل ركيرسيفي
بشكل تلقائي يعني كل pattern يدور او يحاول يضيف ال
patterns اللي موجود عندها pattern and by pattern
frequent pattern by pattern andالـ Database
Partitioning وبالتالي انا بجسم ال database و ممكن
انا اشتغل عليها يعني يقولولنا ان ال FP Growth ك
algorithm او ك method هتكون افضل نتيجة او اسرع من
الابريري للوصول ل ال frequent pattern اللي موجودة
لانها for each frequent item لكل frequent item set
construct its conditional pattern انشئ لل
conditional pattern تبعتها بناء على ايش انتجتThen
it's conditional FB tree وروح انشأ الـ Tree اللي
بعد هيك الخاصة فيها هنشوف ال FB tree ونفهم إيش ال
conditional pattern اللي تم إنشاءها عليه ال
conditional pattern يعني كيف تم الوصول تبعتها، إيش
الشروط تبعت إنها صارت Teddy frequent؟repeat the
process on each newly created pattern conditional
FB3 until resulting FB3 is empty مايكونش فيها ولا
حاجة وضلك كره العملية لما ماظلش فيها انك في ال FB3
and or it contains only one path single path طبعا
وهذا بيكون generation all combination وهكذا انا
بكون جمعت كل ال sub paths اللي موجودة يعنيالخطوات
الخاصة بالألغوريثم انا بروح بعمل database scan
once وهي أول عملية قراءة لل database مثل الابريوري
و روحت و جبت ال first frequent pattern تمام احنا
بيقول depth صحيح breadth دبث عفوا وهيك ان انا روحت
في ال pattern الأول مش قضية كتير sort ال frequent
pattern وهنا دي شغلة جديدة انه رتبالـ Frequent
Patterns بناء على الـ Support بترتيب تنازلي
Descending Support Counting Making a Less than
Millihell اعمل Scan كمان مرة للـ Tree و اعمل
Construction للـ FB Tree اللي موجود اللي هنشوفها
Mining the B-Tree By Creating Conditional أو Sub
Patterns اللي موجودة تعالى نشوف ايش ممكن احنا
نساويممكن نرجع للـ benefits أو نخلصها الآن
completeness متكاملة preserve complete information
بيحتوي معلومات كاملة عن ال frequent pattern اللي
انا عملت لها extraction يعني دائما هو محتفظ بال
support تبعيتها هذه المعلومة اللي بتهمني ال
frequent pattern كم مرة ظهر never break long
patterns of any transaction ممكن تبعش لترانزاكش
مطلقا وهو المشكلة احنا مش فعاليا ماحسنهاش مع ال a
priori لكن بيتكلموا انه ممكنعندما تكون عند الـ
Data Set التعاملات الكبيرة والعناصر الموجودة فيها
كتير ممكن تصير فيها عندها comebackness أو الضغط أو
التكاملية أو تقليل المعلومات المعلومات المعلومات
المعلومات المعلومات المعلومات المعلومات المعلومات
المعلومات المعلومات المعلومات الم
العناصر الترتيب الترتيب التنازلي
الكثير ممكن أن يحدث الكثير ممكن أن يتم شرحالموجود
في الأعلى في أعلى القائمة هو غالبا هو المتكرر
الموجود عندها Never be larger than the original
database مستحيل يطلع عندي بتم أكبر من الموجود
عندها Not count node links and count field أنا
بعدش ال link بعد فقط عدد مرات الظهر بالمقال كما
العادة بالمثال يتضح المقالخلّينا الآن نشوف بالمثال
اللي موجود عندنا هناش بيساوي بقول افترض ان انا في
عندى هذا ال data ال transactional data set اللي
بتحتوي فيها خمس عناصر I1, I2, I3, I4, I5 وفي عندي
تسعة عفوان مش ..
I discard I transaction رقم تسعةكمان للأقل الخطأ
يصير يعني وهذا طبعا كررته هان لأن copy و paste
اشتغلت هنا في المثال لما عدلت عليه و لما هان كذلك
ان شاء الله كده تمام الان افترض ان ال minimum
support تبعتي هي عبارة عن اتنين ال minimum support
المطلوبة عبارة عن اتنين2 على 9 يعني 22% تقريبا الـ
step الأولى بقرر ال database مع ال first او one
item set كل المجموعات التي هي عنصر واحد و بحسب ال
support تبعتهم بعد هيك الخبرة التانية بروح برتبهم
الآن بكل بساطة لو أنا جيت و قلت لك هاي I واحدالـ
support هي 1,2,3,4,5,6 من ضمن العناصر الموجودة الـ
frequent هي 6 موجودة أكتر عنصر موجود عندي more
frequent هو I2 هو عدد مرات تكراره 7 مرات
التلاتة واربعة وخمسة مع بعض اتنين واحد وستة جايين
نفس ال frequent طب مين اقدم فيهم اللي بيظهر معاك
اولا في ال data set ما تلخمش حالك دائما او ما
تلخميش حالك دائما انا باخد اول عنصر بيظهر في ال
frequent set او في ال item set هو اللي انا بقدمه
في حالة تساوي عنصرين من ناحية عدد ال supportالان
بعد ذلك ابدأ ببناء الـ FB tree وهي بتتكلم عن خطوات
بناءها ابدا من null label تمام وبناء عليه اعمل ال
second time ال second scan لل database المرة
التانية في كل transaction اتعامل are processed in
ال L order بناء على ال sort order اللي موجود عندها
والجزء يتم صنعه لكل تجارب مع أشياء تدعمها تدعمها
تدعمها تدعمها تدعمها تدعمها تدعمها تدعمها تدعمها
تدعمها تدعمها تدعمها تدعمها تدعمها تدعمها تد
الـ Data Set اللي موجودة عندى بقولي رتبليه هين
رتبتهم الآن يا جماعة الخير هى ال ال Transactional
Data Set تبعتي و هى ال ال اللي موجودة عندى الان
بما أن الترتيب هذا لازم يكون عندى حاضر دائما فأسهل
اليك هاي خطوة اليكم انه انا اروح اعيد ترتيب ل
Transaction Element في كل ترتيب ال items في كل
Transaction بناء على هاي و انا اقترحت ان اعمل هذا
الجدولإن أبدأ بـ I2 I1 I5 لأن فعليا هدول موجودين
بس I2 هو الـ most frequent element فانا حطيته في
الأول هذا بريحني في بناء ال tree لاحقا خليني نبدأ
نبني ال tree الآن يا جماعة الخير بعد ما انا حطيت
الجدول قال لي ابدأ من null هاي null مش عندى مشكلة
في الموضوع هاي ال null ممتاز الآن ال transaction
الأول I2 I2
I2 وعدد تكرارها واحدلأن وراها I1 I1
و هاي كمان مرة و وراهم I5 ليش هدول جايين ورا بعض
جمعة الخير في one branch لأن هو عبارة عن نفس ال
transaction وبالتالي أنا لازم احطه بنفس النمرة
تمام نمتقل لترانزاكشن التاني I2 هي موجودة بغير ال
counter تبعتها هاي صارت اتنين I4 مش موجودة بحط
branch وهاي I4
خلصت الترانزاكشن وانتقل لترانزاكشن التالف I2 هذه
تارة تلاتة وراها I3 هذه تلاتة مش موجودة بحط branch
جديد و بسميه I3 و لمرة واحدة الترانزاكشن التالف I2
تارة اربعة خلنا بس نحاول نشوف ال options نجيب
المساحة
Eraser انا بدي امسح هذا تمام هذه صارت اربعة الآن
هذه
صارت اربعة لان انا في ال transaction الرابع I1
صارت اتنين الآن بقول I4 I4 مش موجودة فبروح بضيفها
هنا I اعفوا I4 وهي كمان مرةبرجع الـ I1 I1 مش
موجودة لأنها بادية من الـ NULL فبجب أضعها I1 وهي
كمان مرة و وراها I3 وهي مرة I2 I3 معناته هذه ستصبح
خمسة وهذه ستصبح اتنين لأن هذه ال branch موجودةالان
في اللي بقى احنا خلصنا هان خلصنا هان اي واحد اي
تلاتة هذه صارت اتنين لانه موجود ل branch اي اتنين
خلصناها الان هذا اي تلاتة اي اتنين عفوا صارت هذه
ستة ستة
اي واحد صارت تلاتة خلينا
اي خمسة وراهم هتصير هان اتنين خلينا بس اجيب ال
eraser
هنا صارت ستة وهنا صارت خمسة
وهذه صارت اتنين هذه صارت خمسة هي المفروض لأ
واحد اتنين
تلاتة هذه تلاتة المفروض مش خمسة
هذه ثلاثة تمام الآن الترانزاكشن اللي بعده I2 I1 I3
هذه تصبح سبعة وهذه أربعة وهذه اتنين الآن يا جماعة
الخير لو انا فكرت ان احسب ال support لكل واحد من
ال elements اللي موجود عندي I2 ال support تبعتها
سبعة تمام دعوني أغير بالسلون
سبعة صحيحة الان I واحد المفروض ستة I واحد هي عندي
هنا اربعة وعندي هنا اتنين فالكلام صحيح مية المية
مجموعهم ستة الان I تلاتة ستة كذلك I تلاتة عندي
موجود I تلاتة ست مرات اين I تلاتة هاي
مرتين هناهي مرتين هان هى
مرة هى تانية اتينية اتينية اتينية اتينية اتينية
اتينية اتينية اتينية اتينية اتينية اتينية اتينية
اتينية اتنية اتنية اتنية اتنية اتنية اتنية اتنية
اتنية اتنية اتنية اتنية اتنية اتنية اتنية اتنية
اتنية اتنية
طيب اي تلاتة تمام اي اربعة مرتين هيهم لأ
هن مرة واحدة مش اربعة هن المفروض ما عدلناهاش مرة
واحدة وهي مرة واحدة مرتين تمامهذه الـ I5 مرتين
يعني الـ tree تبعتنا هيك بتكون سليمة و العنصر
تبعتها موجودة فهذه الـ tree فعليا اللي احنا عاملا
كنا بنحاول مرسومها I2 I4 I5 بمشي مع العناصر اعفوا
I1 I5 مع ال transaction I2 I4 هيها I2 I3 هيها في
كل مرة بمر على I2 انا بزيد ال counter تبعها لحد ما
تتحقق العناصر و دائما القصها بالمقطة هذه جمعت خير
بس عشان وارجيني هم وين النقاط اللي انا عمله جمعتهم
يعني هي Han و Han هدول مع بعض بتمثل الستة طيب تمام
انا هيك انا حصلت على ال tree اللي موجودة عندي الان
بدي اروح اشوف انشئ ال conditional pattern تبعتي او
ال conditional pattern نعممن الـ tree اللي موجودة
عندها فممكن انا ابدأ امر على او اعمل traversing لل
tree اللي موجودة عندها عشان اشوف ال occurrence تبع
ال pattern اللي عندها الان المشكلة تبعتي كيف انا
بدي احصل على ال frequent pattern من ال database
تمام ال database is transferred ل ال tree وهذا
الان بدي اجيب من ال tree اللي عندهاعشان تقدر تنقب
أو تطلع او تعمل extraction military وتبني او تعتمد
على ال conditional pattern اللي موجود عندك هنا
ابدا مع ال frequent pattern اللي من واحد as
initial suffix suffix يعني من البداية بدك تشتغل
Construct Conditional Pattern Based Which Consists
Of The Prefix Paths
In Every Tree Co-occurring With The Suffix In The
Motion ابدا مع الـ Tree اللي بتبدأ بالـ Suffix
اللي موجود عندك Construct Conditional Pattern Tree
And Perform Mining On Such Treeاللي عندك هان هيبدأ
يزيد معايا growth is achieved by concatenation the
suffix مع ال frequent pattern اللي ظهر عندي و عيدك
دلك كتر في خطوة أربعة لحد ما تخلص ال tree تعالى
نشوف عندي هان ايش اللي بيصير هان او خليني احتفظ
بفقط ال tree و اشوف ال header ايش هذا بده عشان
بعدين بنشوفه خليني بس اوقف هان
الان عشان انا انشئ ال tree او انا بدأ انشئ ال
conditional ال pattern base و ال tree تبعتي بناء
على ال tree اللي موجودة عندنا .. اللي انشأناها
سابقا الان يا جماعة الخير كان بيقوللي في المثال
السابق ان اول حاجة ابدأ مع ال frequent pattern
length واحد تمام؟ as initial suffix pattern طيب
الفكرةهل انا بدي اخد اي
اتنين او اي واحد او اي اتنين او اي اتنين او اي
اتنين او اي اتنين او اي اتنين او اي اتنين او اي
اتنين او اي اتنين او اتنين او اتنين او اتنين او
اتنين او اتنين او اتنين او اتنين او اتنين او اتنين
او اتنين او اتنين او اتنين او اتنين او اتنين او
اتنين او اتنين او اتنين او اتنDepth Search مظبوط
جالك Depth Search Tree الـ Traversing وبالتالي هو
بدوش اشتغل Bread بدوش اشتغل Depth معناته Depth
بدروح على أعمق نقطة مين أعمق نقطة ده هي النقاط
تبعتي و اشتغل عليها مين النقاط اللي موجودة عندى في
ال leaves يا جماعة الخير I5 I4 I3 مظبوططيب و بعد
هي كنت بدي أطلع لحد ما هي في عندي نوت وبالتالي
النقاط تبعتهم كل العناصر معدمين معدم قطين هدول
اللي موجودات فوق خالص اللي هم جايات النل لأن هدول
هم بمثلوا عندي بمثلوا المفتاح الأساس في الشغل تمام
الان بما ان انا هشتغل هشتغل كتالي من خلال ال tree
اللي موجودة عندى و زى ما قولنا حبدة من ال I خمسة
ايه ال I خمسة لأ انا باصللها من خلال مين يا جماعة
الخير ال I خمسة انا باصللها من خلال I اتنين و I
اربعةعفوا I2 و I1 كم مرة مريت عليهم عشان اصل لل
element هذا خليني برضه احنا قولنا المعلومات تبعتنا
بدها تكون دائما موجودة عندى خليني بس اجيب ال data
set عشان تظل حاضرة عندنا هي هذه
و بدي أجيبها هنا على الآخر لماذا
لا أشوف ال animation حقيقية animation
team group لا أريد animation حقيقية
كل هاي ال element اللى انا بدى اشتغل عليهم طيب ال
I الآن
جمعت الخيار فهذا الجدول هيلزمني عشان انا اقدر
اتذكر انا فعليا ال conditional better base انا
وصلت لل I خمس خلال Iالـ I5 أنا وصلت لها من خلال
وصلت لها مرتين مرة من خلال I2 و I1 لحالهم هذه كانت
مرة مصبوط و مرة كانت من خلال I1 و I3 I2 I1 I3 هذه
كمان مرةمعناته انا هي ال path او هي المسارات اللي
ودتني لمين ل I5 اللي موجودة هنا وبناء عليه أنا ال
nodes اللي فعليا بتهمني في عدد تكرارها المين اللي
ظهرت مرتين عندها في ال conditional I2 ظهرت مرتين و
I1 ظهرت مرتينI3 مابتلزمش لأنها ظهرت لمرة واحدة طب
ايش ال frequent pattern اللي بنعملها generation؟
معناته انا بقدر اجي اقول I2 I5 هذا frequent
pattern وعدد مرات ظهره اتنين في عند I1 I5 وهذا عدد
مراته برضه عدد مرات ظهره اتنين وفي عند ال pattern
التالت اللي هو I2 I1I5 اللي هو الـ combination
عفوًا لهم كلهم لأن هذه frequent وهذه frequent فلما
نضفهم مع بعض هيكون في عندي frequent وهي ال pattern
تبعتهم وبالتالي هذه هي ال generated frequent
pattern اللي طلعت عندي كمان مرة نشوفها مع I4 I4
إيش عمليات الوصول اللي كانت إلها كانت من خلال 2
هذه البسارات I2 مباشرة لحالهاأي اتنين كم مرة وصلت
لها اللي عفوا عندها اي اتنين اي اربعة كان عندى عدد
مرات الظهور مرة عبر اي واحد ومرة عبر اي اتنين يعني
اي اتنين مرة واحدة مظبوط ومرة من خلال اي اتنين اي
واحد كذلك مرة
الان من يلزمني من هؤلاء اللي اظهر مرتين على الأقل
الـ I2 المعنى الـ Conditional Pattern Tree تبعتي
ال I2 مرتين وبالتالي باجي ال frequent pattern
تبعتي هتكون I2 I4 وهي ال support تبعته ال minimum
support تبعته 2 باجي لل I3 بنفس الكلام I3 كيف وصلت
لهاأيش المسارات تبعت I3 I3 I3 I3 I3 I3 I3 I3 I3 I3
I3 I3 I3 I3 I3 I3 I3 I3 I3 I3 I3 I3 I3 I3 I3 I3 I3
I3 I3 I3 I3 I3 I3 I3 I3 I3 I3 I3 I3
هان برضه مرتين عبر I2 I1 I2 I1 برضه مرتين مين ال
frequent pattern عند هان؟ كلهم frequent لأن I1 و
I2 عبارة عن frequent patterns وبالتالي ال
conditional tree تبعتي I2 ظهرت أربع مرات و I1 ظهرت
مرتينعفوًا اي واحد ظهرت مرتين كذلك في عندى اي واحد
ظهرت لحالها طبعا انا جمعت هدول التنتين مع بعض ان
هدى و هدى في بينهم intersection او جايات مع بعضهم
صحيح اللي هم في pattern واحد فإذا انا باعتبر ان
هدى pattern واحد معناته ان هى ال pattern اللى عندى
او ال condition اللى تريه وعندى هنا اي واحد ظهرت
لحالهامرتين ايش ال frequent pattern اللي عندي
هتكلم على combination I2 I3 مرتين كذلك عندي I1 I3
عفوا ليش مرتين اربع مرات لان I2 اربع مرات ظهرت هي
اربعة وهنا I3
أي اي اتنين مرتين هنا و مرتين هنا يعني اربعة مرتين
و مرتين يعني اربعة و هنا في عندي اي اتنين اي واحد
اي تلاتة وهذا كذلك ظهر مرتين وبالتالي
انا هاي ال pattern اللي موجود عندي وهكذا بتظهر
عندى بجهة ال letterبالتالي هذه الـ pre كل ال
patterns هذه مجموعة الـ generated frequent
patterns اللي انا اشتغلت عليهم اعمل ما بين ال
patterns هدول عبارة عن ال association rules اللي
موجودة عندها ال FP growth method transform the
problem of finding long frequent patternsبحولت
ليها من البحث عن long frequent patterns searching
for shorter ones recursively and concatenating the
suffix و دائما أجمع ليه ال suffix اللي بتكون
موجودة it uses the least frequent items as suffix
ليش؟ لأن هم هدول الموجودين تحت خالص تمام offering
good selectivity وتوفر عليها الموضوع وهذا اختيار
مكون مناسب the method .. the method عفوا
substantially .. substantially reduce the search
cost لأنها بتشتغلش في ال breadth depth عفوا ال
search طيب
خلينا بدنا نشوف المثال التالي
هذا مثال .. مثال تاني تكملونه لواحدكم ان شاء الله
تعالى فرصة لكم تتدربوا و تشوفوا الخطوات لإنشاء ال
header tree او ال table السابق و كيف احنا اشتغلنا
عليه خطوة خطوة الان بقول لي ان في عندي transaction
data set من خمس عناصر فيها ال element اللي انت
مشرقها ال minimum support تبعتها minimum support
معناته ان جماعة الخيربدي أجي أعد والله ال F واحدة
تنتين تلاتة أربعة أكبر من ال minimum support
معناته ال F frequent ال A مرة تنتين تلاتة
ال A frequent ال C مرة تنتين تلاتة أربعة ال C
frequent هنا تلاتة هنا أربعة هنا أربعة ال D مرة is
not frequent مش هستخدمهاالـ G مرة مش هستخدمها ال D
قولنا مرة ال I مرة مش هستخدمها ال M مرتين تين
تلاتة فهي frequent هتفض فيها ال B مرتين تين تلاتة
فهتفض فيها على إنها frequent بالتالي ال L تبعتي ال
L تبعتيطب ده العناصر اللي مثلا في عند ال L it's
not frequent مرتين ال
O it's not frequent مرتين ال H it's not frequent
مرة واحدة ال W it's not frequently مرة واحدة ال N
ال K مرة ال S مرة ال N مرةالـ E مرة وبالتالي أنا
هي العناصر ال frequent تبعتها اللي هم الموجودين
فوق F,A او F,C,A,M,P تلت او خمس عناصر F,C بالترتيب
لأنهم ظهرت ال F أولا وال frequent تبعتها أربعةالـ
frequency تبعتها أربعة والـ C كذلك وراها أربعة ولا
بدنا نرتبهم ترتيب تنازلي فانا فعليا هي ال order
frequent set مع كل data set هي ال frequent item
set اللي أنا الموجودة عندي فانا هدول فعليا هيهم
وبالتالي هي ال F بدنا نرسم ل 3 و بدنا نرسم ل 3
عشان نتمرن على الجدول و نتكمل الجدول للآخر تمامفي
مقارنة ما بين الـ Apriori والـ FB Growth من ناحية
الـ Scalability على نفس الـ dataset اللي تم
استخدامها مع تغيير للـ threshold تبع الـ minimum
support تبع ال support والزمن بالثانية اللي موجود
هناالـ FB Growth فعليا من 40 أو 45 ثانية تقريبا أو
أقل شوية أو 43 ثانية و بدأ ينزل لما كنت أنا يشبه
أزيد طبعا لاحظوا أنا مافيش مجال ال support يكون
صفر لل threshold تبع ال support طبعا هنبغي أن هي
نسبة في المية جامعة الخير في الآخر و بدها تصير
فمستحيل تكون صفر عندي فالآن واضح أنه أداء ال FB
Growthأفضل تمام خصوصا لما بيصغر ال support لما
بيصغر ال support لإن كل ما بيكبر ال support تقريبا
أداء التنتين بيصير واحد تقريبا
هنكمل كفاية التسديل اللي اتأخرنا حاجة في التسديل
هذا لحضان و هكمل في الجزئية اللي ضايلة و هعرض
عليكم بقى code بسيط في تطبيق ال association role
خلال التسديل ان شاء الله تعالى كنت انا حضرته سابقا
و هنمر على ال code مع بعض السلام عليكم و رحمة الله