Menu
CoddyTech

כלל ציון Z

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

חווה שקלה 300 ביצים, ואז הקלידה שתיים ידנית: 6.2 g ו־94.6 g, שתיהן שגיאות הקלדה. ציוני ה־z שלהן (המרחק מהממוצע, ביחידות של סטיית תקן) מסגירים אותן:

היסטוגרמה של משקלי 300 ביצים כציוני z, כולם בין ‎-3 ל־3 בתוך רצועה מוצללת המסומנת כטווח של עד 3 סטיות תקן. שתי נקודות אדומות נמצאות הרחק מחוץ לה: 6.2 g ב־z = -9.9 ו־94.6 g ב־z = 6.3

np.abs מסירה את סימני המינוס, ולכן השוואה אחת תופסת את שני הצדדים:

rng = np.random.default_rng(3)
eggs = np.concatenate([rng.normal(60, 4, size=300), np.array([6.2, 94.6])])
z = (eggs - eggs.mean()) / eggs.std()
print(np.abs(np.array([-4, 2, -1])))
print(eggs[np.abs(z) > 3])

פעולה זו מדפיסה:

[4 2 1]
[ 6.2 94.6]

בנתונים בעלי התפלגות בצורת פעמון, 99.7% מהערכים נמצאים בטווח של 3 סטיות תקן, ולכן np.abs(z) > 3 מסמן את הערכים הנדירים שיש לבדוק לפני האימון.

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

challenge icon

אתגר

בינוני

המשקל של מאפייה שקל 250 כיכרות והכניס אותן ל־loaves, ועוד 3 הוקלדו ידנית. התוכנית קוראת ערך סף.

  1. חשבו את ציון ה־z של כל כיכר באמצעות .mean() ו־.std() של המערך.
  2. לפי סדר המיקומים, הדפיסו כל כיכר שציון ה־z שלה רחוק מ־0 ביותר מערך הסף: את המיקום, המשקל (ספרה אחת אחרי הנקודה) וציון ה־z (שתי ספרות אחרי הנקודה).
  3. הדפיסו כמה כיכרות ציינתם.

עבור יום אחר וערך הסף 3:

Loaf 200: 702.5 g, z = -5.38
Loaf 201: 889.3 g, z = 4.91
Loaves to re-weigh: 2

נסו בעצמכם

import numpy as np

# אל תשנו את השורות הבאות: 250 כיכרות לחם נשקלו במאזניים, ואז הוזנו ידנית 3 משקלים
rng = np.random.default_rng(25)
loaves = np.concatenate([rng.normal(800, 15, size=250), np.array([731.4, 868.9, 912.3])])
cutoff = float(input())

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

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

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

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