Menu
CoddyTech

עצים שואלים שאלות

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

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

תרשים עץ. בתיבה העליונה מופיעה השאלה: רוחב עלה הכותרת 0.8 ס״מ או פחות? כן מוביל לסטוזה. לא מוביל לתיבה שנייה: אורך עלה הכותרת 4.95 ס״מ או פחות? כן מוביל לוורסיקולור, לא לווירג׳יניקה

באימון נבחרת כל שאלה כך שהתשובות שלה יפרידו בין המחלקות בצורה הנקייה ביותר האפשרית:

from sklearn.tree import DecisionTreeClassifier

tree = DecisionTreeClassifier(max_depth=2, random_state=0)
tree.fit(X_train, y_train)  # אורך ורוחב עלי הכותרת, cm
print(tree.predict([[4.5, 1.4]]))

הדבר מדפיס [1], versicolor. max_depth=2 מאפשר שתי שאלות בכל מסלול. אין צורך בנרמול: כל שאלה קוראת מאפיין אחד.

challenge icon

אתגר

בינוני

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

  1. אמנו עץ החלטה עם 2 שאלות לכל היותר בכל מסלול (random_state=0).
  2. הדפיסו את דיוק הבדיקה שלו (3 ספרות אחרי הנקודה העשרונית) ואת התשובה שלו לגבי ההשכרה החדשה: likely late עבור 1, likely on time עבור 0.

עבור חנות אחרת:

Test accuracy: 0.792
This rental: likely on time

נסו בעצמכם

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

# השכרות קודמות: 1 ב-late פירושו שהציוד הוחזר באיחור
rentals = pd.read_csv("rentals.csv")
features = ["rental_weeks", "gear_value_usd", "customer_age", "late_before"]
X_train, X_test, y_train, y_test = train_test_split(rentals[features], rentals["late"], test_size=0.25, random_state=0)

# השכרה חדשה: מספר השבועות שהוזמנו, שווי הציוד, גיל הלקוח ומספר הפעמים שהחזיר ציוד באיחור עד כה
weeks = int(input())
value = int(input())
age = int(input())
late_before = int(input())
new_rental = pd.DataFrame([[weeks, value, age, late_before]], columns=features)

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

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

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

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