Menu
CoddyTech

התאמה וחיזוי

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

כל מודל של scikit-learn פועל בשתי קריאות. fit לומדת את שורות האימון עם התוויות שלהן; predict מתייגת שורות שהמודל מעולם לא ראה:

תרשים: שישה חיות מחמד, X_train עם משקל ואורך אוזניים לצד y_train, שלושה חתולים ושלושה כלבים, עוברים דרך fit אל תוך מודל. שתי חיות מחמד חדשות, X_new, עוברות דרך predict באמצעות המודל, ומתקבלות כחתול וכלב

המודל מהשיעור הראשון במסלול הזה הוא שכנים קרובים ביותר (k-nearest neighbors): הוא מסווג שורה לפי שורות האימון הקרובות אליה ביותר. חיות מחמד לפי משקל (ק״ג) ואורך האוזניים (ס״מ):

from sklearn.neighbors import KNeighborsClassifier

X_train = np.array([[4, 6], [5, 7], [3, 5], [30, 10], [25, 12], [35, 11]])
y_train = np.array(["cat", "cat", "cat", "dog", "dog", "dog"])
model = KNeighborsClassifier()
model.fit(X_train, y_train)
print(model.predict([[6, 6], [28, 11]]))

הפעולה מדפיסה ['cat' 'dog']. שורות חדשות נכנסות כטבלה, שורה אחת לכל חיית מחמד.

בנייה, התאמה, חיזוי: כל מודל ביחידה הזאת פועל לפי שלושת השלבים האלה.

challenge icon

אתגר

קל

האפליקציה של מועדון לצפייה בציפורים מזהה ציפורים לפי מוטת הכנפיים והמשקל שלהן. קוד הפתיחה מפצל את הקובץ birds.csv של המועדון וקורא את הציפורים של הערב לטבלה spotted.

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

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

Bird 1: sparrow
Bird 2: blackbird
Bird 3: robin

נסו בעצמכם

import pandas as pd
from sklearn.model_selection import train_test_split

# שורה אחת לכל ציפור שהמועדון זיהה: מוטת כנפיים בס"מ, משקל בגרמים
birds = pd.read_csv("birds.csv")
X = birds[["wingspan_cm", "weight_g"]]
y = birds["species"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)

# הסיור הערב: כמה ציפורים, ואז מוטת הכנפיים והמשקל של כל אחת
count = int(input())
spans = []
weights = []
for i in range(count):
    spans.append(float(input()))
    weights.append(float(input()))
spotted = pd.DataFrame({"wingspan_cm": spans, "weight_g": weights})

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

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

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

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