מטריצת מתאמים
חלק מהיחידה סטטיסטיקה ללמידת מכונה במסלול ה-Machine Learning של Coddy. שיעור 31 מתוך 64.
בחירת תכונות פירושה השוואה של כל עמודה לעמודת המטרה בבת אחת. df.corr(numeric_only=True) בונה את מטריצת המתאם, תוך דילוג על עמודות טקסט:
laptops = pd.DataFrame({
"model": ["Arc", "Bolt", "Cove", "Dune", "Echo", "Flux", "Gale"],
"ram_gb": [8, 16, 8, 32, 16, 16, 32],
"weight_kg": [2.3, 1.4, 2.0, 1.1, 1.8, 1.2, 1.6],
"battery_h": [7, 9, 10, 13, 6, 11, 8],
"price": [650, 1100, 700, 1600, 900, 1350, 1200],
})
corr = laptops.corr(numeric_only=True)כל תא הוא ה־r של השורה והעמודה שלו. כדי למצוא את המאפיין החזק ביותר, דרגו את עמודת המחיר לפי גודל, תוך התעלמות מסימנים:
ranked = np.abs(corr["price"]).sort_values(ascending=False)
print(ranked.index[1])זה מדפיס:
weight_kgהאינדקס 0 הוא price עצמו, בערך 1. מחשבים ניידים קלים יותר עולים יותר: -0.95 הוא הקשר החזק ביותר.
אתגר
בינוניחברת אנרגיה סקרה 24 בתים בחורף. בקובץ homes.csv יש קוד home ועמודות מספריות area_m2, insulation_cm, residents, outside_temp_c ו-heating_kwh. התוכנית קוראת עמודת יעד.
- הדפס את עמודת היעד של מטריצת המתאם, מעוגלת ל-2 ספרות אחרי הנקודה העשרונית.
- הדפס את
Strongest:, את העמודה האחרת שהקשר שלה עם עמודת היעד הוא החזק ביותר, ואת ערך ה-rשלה, כפי שמוצג להלן.
עבור סקר אחר ועבור היעד heating_kwh:
windows 0.72
floors 0.68
age_years 0.23
heating_kwh 1.00
Name: heating_kwh, dtype: float64
Strongest: windows (r = 0.72)נסו בעצמכם
import numpy as np
import pandas as pd
homes = pd.read_csv("homes.csv")
target = input()
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה סטטיסטיקה ללמידת מכונה
1מרכז ופיזור
ממוצע וחציוןאחוזונים ורבעוניםשונות וסטיית תקןמדגם או אוכלוסייה?הערך השכיח ביותרסיכום: זמני משלוח4מדגמים ואוכלוסיות
אוכלוסייה ומדגםממוצעי מדגמים משתניםהתפלגות הדגימהמדגמים גדולים יותר, פחות רעשסיכום: סקר בעיירה5ערכים חריגים
תרשימי קופסהכלל הטווח הבין־רבעוני (IQR)כלל ציון Zטיפול בערכים חריגיםסיכום: תקלות בחיישניםתרגלו בעצמכם: קומפיילר Python אונליין