Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "מחסני נתונים (Data Warehousing)"— Presentation transcript:

1 מחסני נתונים (Data Warehousing)
קורס מסדי נתונים מסדי נתונים תשס"ג

2 מחסן נתונים מחסן נתונים הוא מסד נתונים ענק המאחסן מידע היסטורי
דוגמא: שמירת המידע על כל הקניות של מוצרים בכל הסניפים של רשת סופרמרקטים דוגמא: שמירת המידע על כל שיחות הטלפון שנעשו בטלפונים של חברה מסוימת מסדי נתונים תשס"ג

3 שאילתות OLTP ו- OLAP השאילתות עד כה הן Online Line Transaction Processing (OLTP), כלומר הרבה שאילתות קטנות שהתוצאה שלהן נדרשת באופן מיידי סוג אחר של שאילתות הן שאילתות Online Line Analytical Processing (OLAP) שלרוב מופעלות על מחסני נתונים בשאילתות שימוש רב בפונקציות הקבצה אין צורך בתוצאות מיידיות חישובי סטטיסטיקות על הנתונים כחלק מתמיכה בקבלת החלטות מסדי נתונים תשס"ג

4 יצירת מחסן נתונים נדרש צירוף נתונים ממקורות שונים
נדרש שינוי בסכימה של הנתונים להתאמה לסכימה אחידה נדרשת התאמה ביחידות של הנתונים המאוחדים לעיתים נדרשת תמיכה בעדכון נתונים שהשתנו לעיתים נדרשת תמיכה בניקוי נתונים שהתיישנו נדרשת שמירת מידע על הנתונים (metadata repository) כדי לנהל את הנתונים מסדי נתונים תשס"ג

5 תכנון הטבלאות במחסן הנתונים
לרוב נעשה שימוש בסכימת כוכב: טבלת נתונים (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) טבלת נתונים טבלאות ממד מסדי נתונים תשס"ג

6 צורות נורמליות טבלת נתונים בצורת BCNF טבלאות ממד: לא בהכרח בצורת BCNF
מיעוט פעולות הוספה, ביטול ועדכון ולכן מיעוט בעיות של אי עקביות ואי סדירות יחסית מעט מידע ולכן כפילויות אינן מהוות בעיה מאפשר חישוב יעיל של שאילתות משום שהפירוק אינו דורש ביצוע פעולות צירוף טבעי מסדי נתונים תשס"ג

7 כריית נתונים (Data Mining)
מסדי נתונים תשס"ג

8 כריית נתונים כריית נתונים הוא תהליך של מציאת הקשרים מעניינים או תבניות במסדי נתונים גדולים לצורך תמיכה בקבלת החלטות עתידיות כריית נתונים מאופיינת בניתוח מידע על סמך קבוצות נתונים גדולות מאוד מסדי נתונים תשס"ג

9 דוגמאות מציאת קישורים בין מוצרים שנקנים בחנות: החלטה על הנחה במוצר
דוגמת הבירה והחיתולים החלטה על הנחה במוצר קביעת רשימת הספרים המומלצים שיופיעו בסוף ספר מסוים כיצד לסווג לקוחות לצורך משלוח יעיל של עלוני פרסומת מסדי נתונים תשס"ג

10 Data Mining vs. Machine Learning
כמות הנתונים: מסד הנתונים מאוד גדול אז על האלגוריתמים להיות מותאמים לכך עיצוב: מסדי נתונים לרוב אינם מעוצבים למימוש כריית נתונים ולכן תכונותיהם לא מתאימות לכריית נתונים שגיאות ורעש: כמעט תמיד מסדי נתונים מכילים שגיאות מסדי נתונים תשס"ג

11 (Sequence Patterns, Classification Rules)
טכניקות כריית נתונים טכניקה קורס שעוסק בנושא Decision Trees מבוא לבינה מלאכותית Neural Networks רשתות נוירונים 1, רשתות נוירונים 2 K-Nearest Neighbor גיאומטריה חישובית Association Rules (Sequence Patterns, Classification Rules) מסדי נתונים מסדי נתונים תשס"ג

12 חוקי קישור (Association Rules)
סל קניות הוא אוסף של פריטים שנקנו בידי לקוח יחיד בקניה יחידה הבעיה: זיהוי קבוצות של פריטים שנקנו יחד מנסים לזהות חוקים מהצורה {pen}  {ink} המשמעות: אם עט נרכש בקניה אז סביר להניח שגם דיו נרכש בקניה מסדי נתונים תשס"ג

13 טבלת רכישות לדוגמה transid item 111 pen ink diary soap 112 transid
113 pen diary 114 ink soap tissues מסדי נתונים תשס"ג

14 מדדים לחוקי קישור צורה כללית של חוק קישור: LR כאשר L ו-R הן קבוצות של פריטים תמיכה (Support): התמיכה בחוק LR היא אחוז עסקאות הקניה שמכילות את כל הפריטים מ-L ומ-R וודאות (Cnfidence): הוודאות של חוק LR היא אחוז עסקאות הקניה שכוללות את R מבין העסקאות שכוללות את L מסדי נתונים תשס"ג

15 דוגמאות לחוק{pen}{ink} יש: לחוק {tissues}{ink}יש
תמיכה: ודאות: לחוק {tissues}{ink}יש לחוק {pen}{soap} יש מסדי נתונים תשס"ג

16 אינטואיציה למדדים אם לחוק תמיכה נמוכה יתכן שהוא נתגלה במקרה ואין מספיק עדויות כדי לבסס אותו אם לחוק LR יש וודאות נמוכה סביר להניח שאין קשר בין רכישת L ורכישת R הערה: החוקים RL ו-LR יש להם תמיכה זהה אבל עשויה להיות להם ודאות שונה מסדי נתונים תשס"ג

17 המטרה מעונינים למצוא חוקי קישור בעלי תמיכה גבוהה וודאות גבוהה (בהתייחס למינימום תמיכה ומינימום ודאות הנתונים על ידי המשתמש) מסדי נתונים תשס"ג

18 אלגוריתם לחישוב בהנתן ערכים s ו-c, יש למצוא את כל חוקי הקישור עם תמיכה גדולה או שווה ל-s ועם וודאות גדולה או שווה ל-c ניתן לבצע את החישוב בשני שלבים: שלב 1: מציאת קבוצות פריטים בעלות תדירות גבוהה (קבוצות פריטים בעלות תמיכה >= s) שלב 2: לכל קבוצה בעלת תדירות גבוהה F, עוברים על כל החלוקות של F ל-R ול-L ובודקים אם לחוק LRיש וודאות >= c מסדי נתונים תשס"ג

19 מציאת קבוצות בעלות תדירות גבוהה
כיצד נעשה זאת? ? מסדי נתונים תשס"ג

20 מציאת קבוצות בעלות תדירות גבוהה
תכונה אפריורית (The A Priori Property): כל תת קבוצה של קבוצה בעלת תדירות גבוהה היא בעלת תדירות גבוהה מהתכונה האפריורית מתקבל שניתן לייצר באופן איטרטיבי את הקבוצות בעלות התדירות הגבוהה: לוקחים קבוצות פריטים בעלות תדירות גבוהה שגודלן n מרחיבים את הקבוצות בגודל n לקבוצות בעלות תדירות גבוהה בגודל n+1 מסדי נתונים תשס"ג

21 מציאת קבוצות בעלות תדירות גבוהה
Freq = {} scan all transactions once and add to Freq the items that have support > s k = 1 repeat foreach Ik in Freq with k items generate all itemsets Ik+1 with k+1 items, such that Ik is 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 מסדי נתונים תשס"ג

22 דוגמא מריצים את האלגוריתם עם תמיכה = 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} מסדי נתונים תשס"ג

23 המשך דוגמא שלב 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} מסדי נתונים תשס"ג

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

25 גזירת חוקי קישור 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 מסדי נתונים תשס"ג

26 הכללת חוקי קישור רוצים לדעת האם בימי חמישי {milk}{bread} באופן שונה מיתר ימי השבוע, כיצד נעשה זאת? רוצים לדעת האם לקוחות מתל אביב מתקיימים לגביהם אותם חוקי גרירה שמתקיימים ללקוחות מירושלים מסדי נתונים תשס"ג

27 סוגים אחרים של חוקים תבניות סדרתיות (Sequential Patterns)
כל קניה עבור כל לקוח היא קבוצה של פריטים סדרה של קניות היא סדרה של קבוצות פריטים לדוגמא: {pen, ink, soap}, {pen, ink diary, soap} תת סדרה נגזרת מסדרה על ידי מחיקת מספר קבוצות במלואן מהסדרה מחיקת פריטים מקבוצות אחרות בסדרה מסדי נתונים תשס"ג

28 תבניות סדרה {pen}, {ink, diary}, {pen, soap} היא תת סדרה של
{pen, ink}, {shirt}, {milk, ink, diary}, {soap, pen, diary} אינה תת סדרה של {pen, ink}, {shirt}, {soap, pen, diary}, {milk, ink, diary} מסדי נתונים תשס"ג

29 תבניות סדרה התמיכה בתבנית סדרה S היא אחוז סדרות הקניה של הלקוחות ש-S היא תת סדרה שלהן סדרה s1, s2, ..., sn בעלת תמיכה גבוהה מעידה שמי שקנה את s1 בסבירות גבוהה יקנה את s2 בהמשך וכן הלאה... מציאת תבניות סדרה: נעשה באופן דומה למציאת קבוצות פריטים בעלות תדירות גבוהה מתחילים עם סדרות קטנות ומנסים להרחיב אותן מסדי נתונים תשס"ג

30 חוקי סיווג (Classification Rules)
נתונה טבלה: InsuranceInfo(custid:integer, age:integer, cartype:string, highrisk:boolean) מעונינים למצוא חוקים מהסוג הבא: "אם הגיל הוא בטווח מסוים והמכונית מסוג מסוים אז הלקוח הוא לקוח בסיכון גבוה" ניתן להפעיל את החוק על לקוחות חדשים שבאים לבטח את המכונית שלהם מסדי נתונים תשס"ג

31 חוקי סיווג (Classification Rules)
צורה כללית: (l1< X1< h1) and ... and (lk < Xk < hk)Y=c משתמשים בערכים עבור X1,...,Xk לקביעת Y מסדי נתונים תשס"ג

32 מינוחים אטריביוט תלוי (dependent attribute) נקבע בחוק
אטריביוט קובע (predictor attribute) מופיעים בגוף החוק אטריביוט מספרי: li<=Xi<=hi אטריביוט קטגורי: Xi in {v1 …vj} חוקי סיווג (classification rules) – האטריביוט התלוי הוא קטגורי חוקי רגרסיה (regression rules) – האטריביוט התלוי הוא מספרי מסדי נתונים תשס"ג

33 דוגמא (18< age< 25) and (cartype in {Sports,Truck})
 highrisk=true מסדי נתונים תשס"ג

34 תמיכה וודאות תמיכה: תמיכה בתנאי C היא אחוז הרשומות שמספקות את C
C1 and C2 וודאות: הודאות של חוק C1C2 היא אחוז הרשומות שמספקות את C2 מבין הרשומות שמספקות את C1 מסדי נתונים תשס"ג

35 עצי בחירה (עצי סיווג) Age Car Type no no Yes ניתן לייצר חוקי סיווג
<=25 >25 Car Type no Sedan Sports, Truck no Yes ניתן לייצר חוקי סיווג ממסלולים משורש העץ לעלה מסדי נתונים תשס"ג


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

Similar presentations


Ads by Google