נתונים להזנת מודל
שיעור 2 מתוך 19 בקורס מבוא ללמידת מכונה של Coddy.
בלמידת מכונה, לנתונים יש תפקיד מכריע באימון ובפיתוח של מודלים. כדי להזין נתונים למודל, בדרך כלל מארגנים אותם בפורמט מובנה שנקרא מערך נתונים (DataFrame ב-pandas).
מערך נתונים מורכב משני חלקים עיקריים:
- תכונות - אוסף של עמודות שמייצגות קבוצת נתונים
- משתנה מטרה - מייצג את הפלט או את הערך שהמודל מנסה לחזות או לאמוד.
לדוגמה, הנה טבלה של מזג אוויר
| id | degrees (C) | humidity (%) | wind (KM/H) | is_rain |
| 1 | 23 | 5 | 14 | True |
| 2 | 30 | 10 | 17 | False |
| 3 | 15 | 3 | 12 | False |
| 4 | 20 | 12 | 5 | False |
| 5 | 26 | 57 | 23 | True |
בהנחה שאנחנו רוצים לדעת אם ירד גשם, התכונות הן degrees, humidity, wind, ומשתנה המטרה הוא is_rain.
התכונות מסומנות בתור <strong>X</strong>, והמטרה מסומנת בתור <strong>y</strong>.
משתנה המטרה (<strong>y</strong>) יכול להכיל כל סוג של נתונים - מספר, ערך בוליאני, מחרוזת וכו'.
במהלך תהליך האימון, המודל משתמש בתכונות כקלט, ובמשתנה המטרה כאמת מידה או כפלט הנכון.
ללא משתנה מטרה, למודל לא תהיה דרך לדעת אם התחזיות שלו נכונות או לא.
יש וריאציות רבות ושונות במבנה של מערכי נתונים:
- תכונות רבות, משתנה מטרה יחיד
- תכונה יחידה, משתנה מטרה יחיד
- תכונות רבות, משתני מטרה רבים
- מעט תכונות, משתנה מטרה יחיד או מספר משתני מטרה
- ללא משתנה מטרה
- נתוני סדרת זמן
- וכו'.
למידה מונחית כוללת מערכי נתונים עם זוגות של קלט ופלט, שבהם האלגוריתם לומד למפות קלטים למשתני המטרה המתאימים.
למידה לא מונחית אינה כוללת משתני מטרה; במקום זאת, היא מחפשת דפוסים או מבנה בנתוני הקלט ללא דוגמאות מתויגות.
חשוב לוודא שמשתנה המטרה בלתי תלוי בשאר העמודות, שכן כל תלות עלולה לגרום לדליפת נתונים ולהוביל לביצועים גבוהים באופן מטעה במהלך האימון. מודל חיזוי אמיתי חייב ללמוד מתכונות שאינן קשורות ישירות למטרה, וכך לשמור על התקינות ועל יכולת ההכללה של תחזיות המודל.
אי אפשר לחשב או לגזור ישירות משתנה מטרה בלתי תלוי מהעמודות האחרות במערך הנתונים שלך; זהו הערך שאת או אתה מנסים לחזות.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
אתגר
קלניתן לך קובץ CSV בשם galactic_zoo_no_target.csv. במערך הנתונים הזה אין משתנה מטרה.
באתגר הזה תיצור משתנה מטרה משלך. צור עמודה בשם ComplexityIndex הנגזרת מהנוסחה: WaterCoverage * HabitatDiversity / PlanetMass. לאחר מכן, הסר את העמודות WaterCoverage, HabitatDiversity ו-PlanetMass, מכיוון שהן מיוצגות כעת על ידי ComplexityIndex.
כדי לעבור את האתגר, אל תדפיס שום דבר. אנחנו בודקים את המשתנה df באופן פנימי.
נסו בעצמכם
# pandas כבר יובאה תחת השם pd
df = pd.read_csv("galactic_zoo_no_target.csv")
# כתבו את הקוד שלכם למטה
כל השיעורים ביחידה מבוא ללמידת מכונה
תרגלו בעצמכם: קומפיילר Python אונליין