טיפול בערכים חריגים
חלק מהיחידה סטטיסטיקה ללמידת מכונה במסלול ה-Machine Learning של Coddy. שיעור 27 מתוך 64.
עשר דירות השתמשו בכ־10 מ״ק מים כל אחת, אבל נזילה העלתה את הצריכה באחת מהן ל־64. אפשר להסיר אותה, או להגביל אותה לגבול הקרוב ביותר:
np.clip(a, low, high) מגבילה מערך שלם:
water = np.array([8, 11, 9, 10, 12, 9, 64, 10, 11, 8])
low, high = 6.0, 14.0 # גבולות ה-IQR
dropped = water[(water >= low) & (water <= high)]
capped = np.clip(water, low, high)
print(len(dropped), len(capped))
print(capped)זה מדפיס:
9 10
[ 8. 11. 9. 10. 12. 9. 14. 10. 11. 8.]מודל ינסה להתאים את עצמו לערך החריג היחיד הזה, ולכן כדאי להחליט לפני האימון. תקנו או הסירו שגיאות הקלדה; השאירו ערכים קיצוניים אמיתיים או הגבילו אותם. לעולם אל תמחקו בלי לציין זאת: אמרו כמה שיניתם.
אתגר
בינוניאפליקציית רכיבה תיעדה את המהירויות הממוצעות של 15 רכיבות ב־speeds; שתיים נראות חריגות. קוד הפתיחה שמר את גבולות ה־IQR ב־low וב־high.
- צרו את
dropped, שיכיל את המהירויות שבין הגבולות (כולל שניהם), ואתcapped. - הדפיסו שורה אחת לכל אחת מהאפשרויות keep, drop ו־cap: מספר הרכיבות, הממוצע שלהן וה־
.std()שלהן, מעוגלים ל־2 ספרות אחרי הנקודה העשרונית. - הדפיסו כמה רכיבות השתנו בעקבות הגבלת הערכים.
עבור 10 רכיבות של רוכב אחר:
Keep: 10 rides, mean 21.38, std 6.58
Drop: 9 rides, mean 19.2, std 0.77
Cap: 10 rides, mean 19.45, std 1.04
Capping changed 1 of 10 ridesנסו בעצמכם
import numpy as np
# מחזירה את הגבול התחתון והגבול העליון של IQR עבור מערך
def iqr_fences(a):
q1 = np.percentile(a, 25)
q3 = np.percentile(a, 75)
iqr = q3 - q1
return q1 - 1.5 * iqr, q3 + 1.5 * iqr
speeds = np.array([24.5, 22.8, 26.1, 23.9, 3.1, 25.4, 21.7, 24.2, 27.3, 78.4, 23.1, 25.8, 22.4, 24.9, 26.6])
low, high = iqr_fences(speeds)
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה סטטיסטיקה ללמידת מכונה
1מרכז ופיזור
ממוצע וחציוןאחוזונים ורבעוניםשונות וסטיית תקןמדגם או אוכלוסייה?הערך השכיח ביותרסיכום: זמני משלוח4מדגמים ואוכלוסיות
אוכלוסייה ומדגםממוצעי מדגמים משתניםהתפלגות הדגימהמדגמים גדולים יותר, פחות רעשסיכום: סקר בעיירה5ערכים חריגים
תרשימי קופסהכלל הטווח הבין־רבעוני (IQR)כלל ציון Zטיפול בערכים חריגיםסיכום: תקלות בחיישניםתרגלו בעצמכם: קומפיילר Python אונליין