Menu
Coddy logo textTech

מהו מודל למידת מכונה

שיעור 3 מתוך 19 בקורס מבוא ללמידת מכונה של Coddy.

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

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

 

שלב הלמידה נקרא fitting או fit. לאחר שהמודל לומד את התפלגות הנתונים, אפשר להזין לו נתונים חדשים שמעולם לא ראה ולחזות את הפלט שלו; שלב זה נקרא predicting או predict.

quiz iconבחנו את עצמכם

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

quiz iconבחנו את עצמכם

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

quiz iconבחנו את עצמכם

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

challenge icon

אתגר

קל

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

צרו מודל שמחזיר את ערך y השכיח ביותר עבור ערכי X המתאימים.

הוראות: 

  • השיטה fit סופרת עבור כל X את ערך y השכיח ביותר ושומרת את התוצאה במשתנה self.mode
    לדוגמה, עבור מערך הנתונים הבא:

    <strong>X</strong>ABAAB
    <strong>Y</strong>11011

    self.mode אמור להכיל: {"A": 1, "B": 1}

  • השיטה predict מקבלת רשימה של X_test ומחזירה רשימה באותו אורך. כל ערך ברשימה המוחזרת הוא ערך y החזוי המתאים ל־X, תוך שימוש ב־self.mode שנלמד בשלב fit.
    לדוגמה, אם self.mode מכיל {"A": 1, "B": 1}  ו־X_train הוא ['A', 'B', 'C'], אז הפלט אמור להיות: [1, 1, None]

כך עוברים את מקרי הבדיקה:

צרו פונקציה בשם train_and_predict שמקבלת את הרשימות X_train, y_train ו־X_test. היא תבצע את השלבים הבאים:

  • למדו באמצעות שיטת fit עם X_train ו־y_train 
  • חזו את התוויות של X_test
  • החזירו את התוויות החזויות

נסו בעצמכם

import numpy as np
np.set_printoptions(legacy='1.13')

class SimpleModel:
    def __init__(self):
        self.mode = {}

    def fit(self, X, y):
        # כתבו את הקוד שלכם כאן
        

    def predict(self, X):
        # כתבו את הקוד שלכם כאן

def train_and_predict(X_train, y_train, X_test):
    model = SimpleModel()
    # אמנו את המודל באמצעות X_train ו-y_train
    
    # חזו את התוויות של X_test
    
    # החזירו את התוויות שנחזו

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

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