Menu
CoddyTech

היסטוגרמות

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

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

calls = [2, 3, 3, 4, 5, 5, 6, 6, 6, 7, 9, 14]
fig, ax = plt.subplots()
counts, edges, bars = ax.hist(calls, bins=4)
print(counts)
print(edges)
plt.show()

היסטוגרמה של משכי 12 שיחות ב־4 טווחים, עם גבולות 2, 5, 8, 11 ו־14: עמודות של 4, 6, 1 ו־1 שיחות

רוב הקריאות נמשכות 2 עד 8 דקות. גם ax.hist מחזירה את מה שהיא ספרה, ולכן זה מדפיס:

[4. 6. 1. 1.]
[ 2.  5.  8. 11. 14.]

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

challenge icon

אתגר

בינוני

במטע שקלו 120 תפוחים לתוך weights (בגרמים). התוכנית קוראת מספר של פחים; קוד הפתיחה מגדיר תרשים עם כותרת ותוויות ומציג אותו.

  1. שרטטו היסטוגרמה של weights עם מספר הפחים הזה, ושמרו את הערכים ש־ax.hist מחזירה.
  2. הדפיסו את גבולות הפח המלא ביותר, מעוגלים לספרה עשרונית אחת, ואת מספר התפוחים שבו, כמו למטה.

עבור מטע אחר ו־6 פחים, התוכנית מדפיסה את השורה הזאת, ואז Coddy מתאר את התרשים:

Fullest bin: 153.6 to 167.8 g, 38 apples

והתרשים נראה כך:

היסטוגרמה עם הכותרת Apple Weights ובה 6 עמודות, מטווח של כ־125 עד 210 גרם; העמודה הגבוהה ביותר, עם 38 תפוחים, היא בטווח שבין 154 ל־168 גרם

נסו בעצמכם

import numpy as np
import matplotlib.pyplot as plt

bins = int(input())

# אין לשנות את השורות שלהלן
rng = np.random.default_rng(11)
weights = rng.normal(150, 20, size=120)
fig, ax = plt.subplots()
ax.set_title("Apple Weights")
ax.set_xlabel("Weight (g)")
ax.set_ylabel("Apples")

# כתבו את הקוד שלכם למטה

# אין לשנות את השורה שלהלן
plt.show()
quiz iconבחנו את עצמכם

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

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

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