logo

אלגוריתם אפריורי

אלגוריתם אפריורי מתייחס לאלגוריתם המשמש לחישוב כללי השיוך בין אובייקטים. זה אומר איך שני אובייקטים או יותר קשורים זה לזה. במילים אחרות, אנו יכולים לומר שאלגוריתם אפריורי הוא נטיית כלל אסוציאציה שמנתח שאנשים שקנו מוצר א' קנו גם מוצר ב'.

המטרה העיקרית של אלגוריתם אפריורי היא ליצור את כלל השיוך בין אובייקטים שונים. כלל השיוך מתאר כיצד שני אובייקטים או יותר קשורים זה לזה. אלגוריתם אפריורי נקרא גם כריית דפוסים תכופים. בדרך כלל, אתה מפעיל את האלגוריתם של אפריורי על מסד נתונים המורכב ממספר עצום של עסקאות. בואו נבין את האלגוריתם אפריורי בעזרת דוגמה; נניח שאתה הולך לביג בזאר וקונה מוצרים שונים. זה עוזר ללקוחות לקנות את המוצרים שלהם בקלות ומגביר את ביצועי המכירות של ה-Big Bazar. במדריך זה, נדון באלגוריתם אפריורי עם דוגמאות.

מבוא

אנו לוקחים דוגמה כדי להבין את המושג טוב יותר. בטח שמתם לב שמוכר חנות הפיצה מכין יחד פיצה, שתייה קלה ומקל לחם. הוא גם מציע הנחה ללקוחות שלהם שקונים שילובים אלה. אתה חושב פעם למה הוא עושה את זה? הוא חושב שלקוחות שקונים פיצה קונים גם משקאות קלים ומקלות לחם. עם זאת, על ידי יצירת שילובים, הוא מקל על הלקוחות. במקביל, הוא גם מגדיל את ביצועי המכירות שלו.

באופן דומה, אתה הולך לביג באזאר, ותמצא ביסקוויטים, צ'יפס ושוקולד יחד. זה מראה שהחנות עושה את זה נוח ללקוחות לקנות מוצרים אלה באותו מקום.

שתי הדוגמאות לעיל הן הדוגמאות הטובות ביותר של כללי ההתאגדות ב

  • תמיכה
  • אֵמוּן
  • מעלית
  • בואו ניקח דוגמה כדי להבין את המושג הזה.

    כבר דנו לעיל; אתה צריך מסד נתונים ענק המכיל מספר גדול של עסקאות. נניח שיש לך 4000 עסקאות לקוחות בביג באזאר. אתה צריך לחשב את התמיכה, הביטחון וההרמה עבור שני מוצרים, ואתה יכול לומר ביסקוויטים ושוקולד. הסיבה לכך היא שלקוחות קונים לעתים קרובות את שני הפריטים הללו יחד.

    מתוך 4000 עסקאות, 400 מכילות ביסקוויטים, בעוד ש-600 מכילות שוקולד, ו-600 עסקאות אלו כוללות 200 הכוללות ביסקוויטים ושוקולדים. באמצעות הנתונים הללו, נגלה את התמיכה, הביטחון וההרמה.

    תמיכה

    תמיכה מתייחסת לפופולריות המוגדרת כברירת מחדל של כל מוצר. אתה מוצא את התמיכה כמנה של החלוקה של מספר העסקאות המרכיבות את המוצר הזה במספר הכולל של העסקאות. לפיכך, אנו מקבלים

    תמיכה (ביסקוויטים) = (עסקאות הקשורות לביסקוויטים) / (סה'כ עסקאות)

    = 400/4000 = 10 אחוז.

    אֵמוּן

    ביטחון מתייחס לאפשרות שהלקוחות קנו גם ביסקוויטים וגם שוקולדים ביחד. לכן, עליך לחלק את מספר העסקאות הכוללות גם עוגיות וגם שוקולדים במספר הכולל של העסקאות כדי לקבל את הביטחון.

    לָכֵן,

    ביטחון = (עסקאות הנוגעות הן לביסקוויטים והן לשוקולד) / (סה'כ עסקאות הכוללות ביסקוויטים)

    = 200/400

    = 50 אחוז.

    זה אומר ש-50 אחוז מהלקוחות שקנו ביסקוויטים קנו גם שוקולדים.

    מעלית

    שקול את הדוגמה לעיל; עילוי מתייחס לעלייה ביחס של מכירת שוקולדים כאשר אתה מוכר ביסקוויטים. המשוואות המתמטיות של עילוי ניתנות להלן.

    הרמה = (ביטחון עצמי (ביסקוויטים - שוקולדים)/ (תמיכה (ביסקוויטים)

    = 50/10 = 5

    זה אומר שהסבירות שאנשים יקנו גם ביסקוויטים וגם שוקולדים ביחד היא פי חמישה יותר מזו של רכישת הביסקוויטים לבד. אם ערך העלייה נמוך מאחד, זה מחייב שהאנשים לא יקנו את שני הפריטים ביחד. גדול יותר הערך, כך השילוב טוב יותר.

    כיצד פועל אלגוריתם אפריורי בכריית נתונים?

    נבין את האלגוריתם הזה בעזרת דוגמה

    שקול תרחיש ביג באזאר שבו ערכת המוצרים היא P = {אורז, דופק, שמן, חלב, תפוח}. מסד הנתונים כולל שש עסקאות כאשר 1 מייצג את נוכחות המוצר ו-0 מייצג את היעדר המוצר.

    מזהה עסקה אורז דוֹפֶק חלב שמן תפוח עץ
    t1 1 1 1 0 0
    t2 0 1 1 1 0
    t3 0 0 0 1 1
    t4 1 1 0 1 0
    t5 1 1 1 0 1
    t6 1 1 1 1 1

    אלגוריתם אפריורי מניח את ההנחות הנתונות

    • כל קבוצות המשנה של ערכת פריטים תכופים חייבות להיות תכופות.
    • קבוצות המשנה של ערכת פריטים נדירה חייבות להיות נדירות.
    • תקן רמת תמיכה בסף. במקרה שלנו, תיקנו את זה ב-50 אחוז.

    שלב 1

    ערכו טבלת תדירות של כל המוצרים המופיעים בכל העסקאות. כעת, קצר את טבלת התדירות כדי להוסיף רק את אותם מוצרים עם רמת תמיכה בסף של מעל 50 אחוז. אנו מוצאים את טבלת התדרים הנתונה.

    מוצר תדירות (מספר עסקאות)
    אורז (R) 4
    דופק (P) 5
    שמן (O) 4
    חלב (M) 4

    הטבלה לעיל ציינה את המוצרים שקונים לעתים קרובות על ידי הלקוחות.

    שלב 2

    המרת מחרוזת ל-int java

    צור זוגות של מוצרים כגון RP, RO, RM, PO, PM, OM. תקבל את טבלת התדירות הנתונה.

    ערכת פריטים תדירות (מספר עסקאות)
    RP 4
    RO 3
    RM 2
    לאחר 4
    אחר הצהריים 3
    על אודות 2

    שלב 3

    הטמעת תמיכה זהה בסף של 50 אחוזים ושקול את המוצרים שהם יותר מ-50 אחוזים. במקרה שלנו זה יותר מ-3

    לפיכך, אנו מקבלים RP, RO, PO ו-PM

    שלב 4

    כעת, חפשו סט של שלושה מוצרים שהלקוחות קונים ביחד. אנחנו מקבלים את השילוב הנתון.

    1. RP ו-RO נותנים RPO
    2. PO ו-PM נותנים POM

    שלב 5

    חשב את התדירות של שתי קבוצות הפריטים, ותקבל את טבלת התדירות הנתונה.

    ערכת פריטים תדירות (מספר עסקאות)
    RPO 4
    POM 3

    אם אתה מיישם את הנחת הסף, אתה יכול להבין שהסט של שלושה מוצרים של הלקוחות הוא RPO.

    שקלנו דוגמה קלה לדיון באלגוריתם אפריורי בכריית נתונים. במציאות, אתה מוצא אלפי שילובים כאלה.

    כיצד לשפר את היעילות של אלגוריתם אפריורי?

    ישנן שיטות שונות המשמשות ליעילות האלגוריתם של אפריורי

    ספירת ערכת פריטים מבוססת Hash

    בספירת ערכת פריטים המבוססת על גיבוב, עליך לא לכלול את ערכת k-הפריטים שספירת דלי הגיבוב המקבילה לה היא לפחות מהסף הוא ערכת פריטים נדירה.

    הפחתת עסקאות

    בהפחתת עסקאות, עסקה שאינה כוללת אף ערכת X פריטים תכופים הופכת ללא ערך בסריקות עוקבות.

    אלגוריתם אפריורי בכריית נתונים

    כבר דנו בדוגמה של אלגוריתם אפריורי הקשור ליצירת ערכות פריטים תכופות. לאלגוריתם אפריורי יש יישומים רבים בכריית נתונים.

    java לעשות בזמן

    הדרישות העיקריות למציאת כללי האגודה בכריית נתונים ניתנות להלן.

    השתמש ב-Brute Force

    נתח את כל הכללים ומצא את רמות התמיכה והביטחון עבור הכלל האישי. לאחר מכן, הסר את הערכים הנמוכים מרמות התמיכה והביטחון בסף.

    הגישות הדו-שלביות

    הגישה הדו-שלבית היא אפשרות טובה יותר למצוא את חוקי האסוציאציות מאשר שיטת Brute Force.

    שלב 1

    במאמר זה, כבר דנו כיצד ליצור את טבלת התדרים ולחשב ערכות פריטים בעלות ערך תמיכה גדול מזה של תמיכת הסף.

    שלב 2

    כדי ליצור כללי שיוך, עליך להשתמש במחיצה בינארית של ערכות הפריטים התכופות. אתה צריך לבחור את אלה עם רמות הביטחון הגבוהות ביותר.

    בדוגמה לעיל, אתה יכול לראות שהשילוב RPO היה ערכת הפריטים התכופים. כעת, אנו מגלים את כל הכללים באמצעות RPO.

    RP-O, RO-P, PO-R, O-RP, P-RO, R-PO

    אתה יכול לראות שיש שישה שילובים שונים. לכן, אם יש לך n אלמנטים, יהיו 2נ- 2 חוקי איגוד מועמדים.

    היתרונות של אלגוריתם אפריורי

    • הוא משמש לחישוב ערכות פריטים גדולות.
    • פשוט להבנה ויישום.

    החסרונות של אלגוריתמי אפריורי

    • אלגוריתם אפריורי הוא שיטה יקרה למציאת תמיכה מכיוון שהחישוב צריך לעבור דרך כל מסד הנתונים.
    • לפעמים, אתה צריך מספר עצום של כללים מועמדים, כך שזה הופך יקר יותר מבחינה חישובית.