Menu
CoddyTech

טיפול בערכים חריגים

חלק מהיחידה סטטיסטיקה ללמידת מכונה במסלול ה-Machine Learning של Coddy. שיעור 27 מתוך 64.

עשר דירות השתמשו בכ־10 מ״ק מים כל אחת, אבל נזילה העלתה את הצריכה באחת מהן ל־64. אפשר להסיר אותה, או להגביל אותה לגבול הקרוב ביותר:

צריכת המים של 10 דירות בשלוש שורות. להשאיר: תשע נקודות ליד 10 ואת הנזילה ב־64, ממוצע 15.2. להסיר: הנזילה הוסרה, ממוצע 9.8. להגביל: הנזילה הונמכה עד לגבול שב־14, ממוצע 10.2

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.]

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

challenge icon

אתגר

בינוני

אפליקציית רכיבה תיעדה את המהירויות הממוצעות של 15 רכיבות ב־speeds; שתיים נראות חריגות. קוד הפתיחה שמר את גבולות ה־IQR ב־low וב־high.

  1. צרו את dropped, שיכיל את המהירויות שבין הגבולות (כולל שניהם), ואת capped.
  2. הדפיסו שורה אחת לכל אחת מהאפשרויות keep, drop ו־cap: מספר הרכיבות, הממוצע שלהן וה־.std() שלהן, מעוגלים ל־2 ספרות אחרי הנקודה העשרונית.
  3. הדפיסו כמה רכיבות השתנו בעקבות הגבלת הערכים.

עבור 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)

# כתבו את הקוד שלכם למטה
quiz iconבחנו את עצמכם

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

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

תרגלו בעצמכם: קומפיילר Python אונליין