Menu
CoddyTech

הטלות

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

היטל משליך כל נקודה בקו ישר על קו, כמו צל. הנה תאומי היין מתוך Too Many Features, ממורכזים סביב הממוצע שלהם, על שני קווים:

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

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

כיוון הוא שני מספרים שסכום הריבועים שלהם הוא 1, כמו (0.6, 0.8). הטלה היא סכום משוקלל:

centered = X - X.mean(axis=0)
shadow = centered[:, 0] * 0.6 + centered[:, 1] * 0.8
print(round(shadow.std(), 3))

הכיוון הטוב ביותר שומר על הפיזור הגדול ביותר. זה מדפיס 1.136.

challenge icon

אתגר

בינוני

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

  1. כתבו spread_along(direction): סטיית התקן של הצללים של האצטרובלים בכיוון הזה.
  2. הדפיסו את שני ערכי הפיזור, עם 3 ספרות אחרי הנקודה העשרונית.
  3. הדפיסו את הכיוון שיש לשמור.

עבור אצטרובלים אחרים:

Along [0.6, 0.8]: spread 2.104
Along [0.8, -0.6]: spread 0.412
Keep [0.6, 0.8]

נסו בעצמכם

import numpy as np
import pandas as pd

# יערן מדד את אורכם ורוחבם של 70 אצטרובלים בסנטימטרים
cones = pd.read_csv("cones.csv")
X = np.column_stack([cones["length_cm"], cones["width_cm"]])
first = [float(input()), float(input())]
second = [float(input()), float(input())]

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

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

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

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