מספר מאפיינים
חלק מהיחידה למידה מונחית במסלול ה-Machine Learning של Coddy. שיעור 12 מתוך 58.
מחיר של בית תלוי ביותר מאשר בגודל שלו: הליכה ארוכה לתחנה מורידה אותו. מודל שלומד משני הגורמים מצייר קווים מקבילים:
בקוד, X מקבל את שתי העמודות ו-coef_ מקבל משקל אחד לכל תכונה:
X = houses[["area_m2", "minutes_walk"]]
model = LinearRegression()
model.fit(X, houses["price"])
print(np.round(model.coef_, 1))הדבר מדפיס:
[ 2.6 -5.1]המשקלים תואמים לעמודות של X. כל מ״ר נוסף מוסיף 2.6 אלף דולר; כל דקת הליכה נוספת מורידה 5.1 אלף, כשהמאפיין האחר נשאר קבוע.
היחידה של משקל היא הכמות של היעד לכל יחידה של התכונה שלו: אלפים למ״ר, לדקה.
אתגר
בינוניספק שירותי קייטרינג מחשב הצעות מחיר לאירועים חדשים על סמך 40 אירועים קודמים שבקובץ events.csv: guests, courses, months_ahead (כמה זמן מראש הוזמן האירוע) ו-cost בדולרים. קוד הפתיחה קורא את פרטי האירוע החדש לתוך new_event.
- התאם מודל
LinearRegressionשל העלות לפיfeatures. - עבור כל מאפיין, הדפס כמה יחידה אחת נוספת מוסיפה או מפחיתה (2 ספרות אחרי הנקודה העשרונית).
- הדפס את הצעת המחיר לאירוע החדש (2 ספרות אחרי הנקודה העשרונית).
עבור ספק שירותי קייטרינג אחר:
Each extra guest adds 41.5 dollars
Each extra course adds 198.25 dollars
Each extra month booked ahead takes off 22.8 dollars
Quote: 4312.6 dollarsנסו בעצמכם
import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression
# שורה אחת לכל אירוע קודם: אורחים, מנות, מספר החודשים שבהם הוזמן מראש, עלות בדולרים
events = pd.read_csv("events.csv")
features = ["guests", "courses", "months_ahead"]
units = ["guest", "course", "month booked ahead"]
# האירוע החדש, כטבלה עם שורה אחת
guests = int(input())
courses = int(input())
months = int(input())
new_event = pd.DataFrame({"guests": [guests], "courses": [courses], "months_ahead": [months]})
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה למידה מונחית
תרגלו בעצמכם: קומפיילר Python אונליין