data warehousing l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
????? ?????? ( Data Warehousing ) PowerPoint Presentation
Download Presentation
????? ?????? ( Data Warehousing )

Loading in 2 Seconds...

play fullscreen
1 / 35

????? ?????? ( Data Warehousing ) - PowerPoint PPT Presentation


  • 330 Views
  • Uploaded on

מחסני נתונים ( Data Warehousing ) קורס מסדי נתונים מחסן נתונים מחסן נתונים הוא מסד נתונים ענק המאחסן מידע היסטורי דוגמא: שמירת המידע על כל הקניות של מוצרים בכל הסניפים של רשת סופרמרקטים דוגמא: שמירת המידע על כל שיחות הטלפון שנעשו בטלפונים של חברה מסוימת שאילתות OLTP ו- OLAP

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '????? ?????? ( Data Warehousing )' - Antony


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
data warehousing

מחסני נתונים (Data Warehousing)

קורס מסדי נתונים

slide2
מחסן נתונים
  • מחסן נתונים הוא מסד נתונים ענק המאחסן מידע היסטורי
  • דוגמא: שמירת המידע על כל הקניות של מוצרים בכל הסניפים של רשת סופרמרקטים
  • דוגמא: שמירת המידע על כל שיחות הטלפון שנעשו בטלפונים של חברה מסוימת
oltp olap
שאילתות OLTP ו- OLAP
  • השאילתות עד כה הן Online Line Transaction Processing (OLTP), כלומר הרבה שאילתות קטנות שהתוצאה שלהן נדרשת באופן מיידי
  • סוג אחר של שאילתות הן שאילתות Online Line Analytical Processing (OLAP) שלרוב מופעלות על מחסני נתונים
    • בשאילתות שימוש רב בפונקציות הקבצה
    • אין צורך בתוצאות מיידיות
    • חישובי סטטיסטיקות על הנתונים כחלק מתמיכה בקבלת החלטות
slide4
יצירת מחסן נתונים
  • נדרש צירוף נתונים ממקורות שונים
    • נדרש שינוי בסכימה של הנתונים להתאמה לסכימה אחידה
    • נדרשת התאמה ביחידות של הנתונים המאוחדים
  • לעיתים נדרשת תמיכה בעדכון נתונים שהשתנו
  • לעיתים נדרשת תמיכה בניקוי נתונים שהתיישנו
  • נדרשת שמירת מידע על הנתונים (metadata repository) כדי לנהל את הנתונים
slide5
תכנון הטבלאות במחסן הנתונים
  • לרוב נעשה שימוש בסכימת כוכב:
    • טבלת נתונים (fact table) שגדלה באופן קבוע
    • טבלאות ממד (dimension tables) קטנות שלרוב נשארות קבועות
  • לדוגמא:
  • Sales(pid, timeid, locid, amount)
  • Products(pid, pname, category, price)
  • Locations(locid, city, start, country)
  • Times(timeid, date, week, month, holiday_flag)

טבלת נתונים

טבלאות ממד

slide6
צורות נורמליות
  • טבלת נתונים בצורת BCNF
  • טבלאות ממד: לא בהכרח בצורת BCNF
    • מיעוט פעולות הוספה, ביטול ועדכון ולכן מיעוט בעיות של אי עקביות ואי סדירות
    • יחסית מעט מידע ולכן כפילויות אינן מהוות בעיה
    • מאפשר חישוב יעיל של שאילתות משום שהפירוק אינו דורש ביצוע פעולות צירוף טבעי
slide8
כריית נתונים
  • כריית נתונים הוא תהליך של מציאת הקשרים מעניינים או תבניות במסדי נתונים גדולים לצורך תמיכה בקבלת החלטות עתידיות
  • כריית נתונים מאופיינת בניתוח מידע על סמך קבוצות נתונים גדולות מאוד
slide9
דוגמאות
  • מציאת קישורים בין מוצרים שנקנים בחנות:
    • דוגמת הבירה והחיתולים
  • החלטה על הנחה במוצר
  • קביעת רשימת הספרים המומלצים שיופיעו בסוף ספר מסוים
  • כיצד לסווג לקוחות לצורך משלוח יעיל של עלוני פרסומת
data mining vs machine learning
Data Mining vs. Machine Learning
  • כמות הנתונים: מסד הנתונים מאוד גדול אז על האלגוריתמים להיות מותאמים לכך
  • עיצוב: מסדי נתונים לרוב אינם מעוצבים למימוש כריית נתונים ולכן תכונותיהם לא מתאימות לכריית נתונים
  • שגיאות ורעש: כמעט תמיד מסדי נתונים מכילים שגיאות
association rules
חוקי קישור (Association Rules)
  • סל קניות הוא אוסף של פריטים שנקנו בידי לקוח יחיד בקניה יחידה
  • הבעיה: זיהוי קבוצות של פריטים שנקנו יחד
  • מנסים לזהות חוקים מהצורה

{pen}  {ink}

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

slide14
מדדים לחוקי קישור
  • צורה כללית של חוק קישור: LR כאשר L ו-R הן קבוצות של פריטים
  • תמיכה (Support): התמיכה בחוק LR היא אחוז עסקאות הקניה שמכילות את כל הפריטים מ-L ומ-R
  • וודאות (Cnfidence): הוודאות של חוק LR היא אחוז עסקאות הקניה שכוללות את R מבין העסקאות שכוללות את L
slide15
דוגמאות
  • לחוק{pen}{ink} יש:
    • תמיכה:
    • ודאות:
  • לחוק {tissues}{ink}יש
    • תמיכה:
    • ודאות:
  • לחוק {pen}{soap} יש
    • תמיכה:
    • ודאות:
slide16
אינטואיציה למדדים
  • אם לחוק תמיכה נמוכה יתכן שהוא נתגלה במקרה ואין מספיק עדויות כדי לבסס אותו
  • אם לחוק LR יש וודאות נמוכה סביר להניח שאין קשר בין רכישת L ורכישת R
  • הערה: החוקים RL ו-LR יש להם תמיכה זהה אבל עשויה להיות להם ודאות שונה
slide17
המטרה
  • מעונינים למצוא חוקי קישור בעלי תמיכה גבוהה וודאות גבוהה (בהתייחס למינימום תמיכה ומינימום ודאות הנתונים על ידי המשתמש)
slide18
אלגוריתם לחישוב
  • בהנתן ערכים s ו-c, יש למצוא את כל חוקי הקישור עם תמיכה גדולה או שווה ל-s ועם וודאות גדולה או שווה ל-c
  • ניתן לבצע את החישוב בשני שלבים:
  • שלב 1: מציאת קבוצות פריטים בעלות תדירות גבוהה (קבוצות פריטים בעלות תמיכה >= s)
  • שלב 2: לכל קבוצה בעלת תדירות גבוהה F, עוברים על כל החלוקות של F ל-R ול-L ובודקים אם לחוק LRיש וודאות >= c
slide20
מציאת קבוצות בעלות תדירות גבוהה
  • תכונה אפריורית (The A Priori Property): כל תת קבוצה של קבוצה בעלת תדירות גבוהה היא בעלת תדירות גבוהה
  • מהתכונה האפריורית מתקבל שניתן לייצר באופן איטרטיבי את הקבוצות בעלות התדירות הגבוהה:
    • לוקחים קבוצות פריטים בעלות תדירות גבוהה שגודלן n
    • מרחיבים את הקבוצות בגודל n לקבוצות בעלות תדירות גבוהה בגודל n+1
slide21
מציאת קבוצות בעלות תדירות גבוהה

Freq = {}

scan all transactions once and add to Freq the items that have support > s

k = 1

repeat

foreachIkin Freq with k items

generate all itemsets Ik+1with k+1 items,

such that Ikis contained in Ik+1

scan all transactions once and add to Freq the

k+1-itemsets that have support > s

k++

until no new frequent itemsets are found

slide22
דוגמא

מריצים את האלגוריתם עם תמיכה = 0.7

  • שלב 1: מציאת קבוצות עם תדירות גבוהה:

{pen}, {ink}, {diary}

  • שלב 2: בודקים את הקבוצות הבאות:

{pen, ink}, {pen, diary}, {pen, soap},

{pen, tissues}, {ink, diary}, {ink, soap},

{ink, tissues}, {diary, soap}, {diary, tissues}

הקבוצות עם תדירות >= 0.7 הן:

{pen, ink}, {pen, diary}

slide23
המשך דוגמא
  • שלב 3: בודקים כל אחת מהקבוצות:

{pen, ink, diary}, {pen, ink, soap},

{pen, ink, tissues}, {pen, diary, soap},

{pen, diary, tissues}

אין קבוצות עם תדירות >= 0.7

  • מקבלים שקבוצות הפריטים עם התדירות הגבוהה הן:

{pen}, {ink}, {diary}

{pen, ink}, {pen, diary}

slide24
עידון של האלגוריתם
  • באלגוריתם, נבדק האם {pen, tissues} זו קבוצה בעלת תדירות גבוהה גם כאשר היה ידוע ש- {tissues} אינה קבוצה בעלת תדירות גבוהה
  • עידון: מרחיבים קבוצות פריטים בעלות תדירות גבוהה רק על ידי פריטים כך שכל תת הקבוצות אחרי ההרחבה יהיו קבוצות פריטים בעלות תדירות גבוהה
  • יתכן שטבלת הקניות לא נכנסת לזיכרון הראשי ואז הסריקה תהיה יקרה
    • הפתרון: דוגמים את טבלת הקניות ומשתמשים בדגימה בעלת גודל שתואם את הזיכרון הראשי במקום להשתמש בטבלת הקניות עצמה
slide25
גזירת חוקי קישור

foreach frequent itemset I

foreach partition of I to two sets L, R

generate a candidate rule LR

foreach transaction T in the database

foreach candidate rule LR

if L in T then

lnum(LR)++

if R in T then rnum(LR)++

return all rules LR with

rnum(LR)/lnum(LR) > c

slide26
הכללת חוקי קישור
  • רוצים לדעת האם בימי חמישי {milk}{bread} באופן שונה מיתר ימי השבוע, כיצד נעשה זאת?
  • רוצים לדעת האם לקוחות מתל אביב מתקיימים לגביהם אותם חוקי גרירה שמתקיימים ללקוחות מירושלים
slide27
סוגים אחרים של חוקים
  • תבניות סדרתיות (Sequential Patterns)
    • כל קניה עבור כל לקוח היא קבוצה של פריטים
    • סדרה של קניות היא סדרה של קבוצות פריטים
    • לדוגמא: {pen, ink, soap}, {pen, ink diary, soap}
    • תת סדרה נגזרת מסדרה על ידי
      • מחיקת מספר קבוצות במלואן מהסדרה
      • מחיקת פריטים מקבוצות אחרות בסדרה
slide28
תבניות סדרה
  • {pen}, {ink, diary}, {pen, soap}
  • היא תת סדרה של
  • {pen, ink}, {shirt}, {milk, ink, diary}, {soap, pen, diary}
  • {pen}, {ink, diary}, {pen, soap}
  • אינה תת סדרה של
  • {pen, ink}, {shirt}, {soap, pen, diary}, {milk, ink, diary}
slide29
תבניות סדרה
  • התמיכה בתבנית סדרה S היא אחוז סדרות הקניה של הלקוחות ש-S היא תת סדרה שלהן
  • סדרה s1, s2, ..., snבעלת תמיכה גבוהה מעידה שמי שקנה את s1 בסבירות גבוהה יקנה את s2 בהמשך וכן הלאה...
  • מציאת תבניות סדרה:
    • נעשה באופן דומה למציאת קבוצות פריטים בעלות תדירות גבוהה
    • מתחילים עם סדרות קטנות ומנסים להרחיב אותן
classification rules
חוקי סיווג (Classification Rules)
  • נתונה טבלה:

InsuranceInfo(custid:integer, age:integer,

cartype:string, highrisk:boolean)

  • מעונינים למצוא חוקים מהסוג הבא: "אם הגיל הוא בטווח מסוים והמכונית מסוג מסוים אז הלקוח הוא לקוח בסיכון גבוה"
  • ניתן להפעיל את החוק על לקוחות חדשים שבאים לבטח את המכונית שלהם
classification rules31
חוקי סיווג (Classification Rules)
  • צורה כללית:

(l1< X1< h1) and ... and (lk < Xk < hk)Y=c

  • משתמשים בערכים עבור X1,...,Xkלקביעת Y
slide32
מינוחים
  • אטריביוט תלוי (dependent attribute) נקבע בחוק
  • אטריביוט קובע (predictor attribute) מופיעים בגוף החוק
  • אטריביוט מספרי: li<=Xi<=hi
  • אטריביוט קטגורי: Xi in {v1 …vj}
  • חוקי סיווג (classification rules) – האטריביוט התלוי הוא קטגורי
  • חוקי רגרסיה (regression rules) – האטריביוט התלוי הוא מספרי
slide33
דוגמא

(18<age< 25) and

(cartype in {Sports,Truck})

 highrisk=true

slide34
תמיכה וודאות
  • תמיכה: תמיכה בתנאי C היא אחוז הרשומות שמספקות את C
  • התמיכה בחוק C1C2 היא התמיכה בתנאי

C1 and C2

  • וודאות: הודאות של חוק C1C2 היא אחוז הרשומות שמספקות את C2 מבין הרשומות שמספקות את C1
slide35
עצי בחירה (עצי סיווג)

Age

<=25

>25

Car Type

no

Sedan

Sports, Truck

no

Yes

ניתן לייצר חוקי סיווג

ממסלולים משורש העץ

לעלה