משקולות כראיות
חלק מהיחידה למידה מונחית במסלול ה-Machine Learning של Coddy. שיעור 18 מתוך 58.
מה גורם למבקר בחנות לקנות? בצעו סילום של התכונות, כך שכל משקל יהיה לכל סטיית תקן, ואז קראו את המשקלים כראיות:
X_scaled = StandardScaler().fit_transform(visits)
model = LogisticRegression(max_iter=1000)
model.fit(X_scaled, bought)
print(np.round(model.coef_[0], 2)) # שורה אחת של משקולותפעולה זו מדפיסה את המשקולות לפי סדר העמודות:
[ 0.87 0.12 -0.3 -0.72]הסימן מציין את הכיוון: חיובי דוחף לכיוון מחלקה 1, כלומר קנייה; שלילי — בכיוון ההפוך. הגודל מציין את העוצמה.
הסקת קנה מידה הופכת גדלים לבני השוואה: ללא שינוי קנה מידה, מחיר בסנטים יקבל משקל קטן פי 100 ממחיר בדולרים.
אתגר
בינוניאפליקציה ללימוד שפות שואלת אילו הרגלים קשורים לשמירה על רצף של 30 יום, או להשלמת קורס. הקובץ learners.csv מכיל שש תכונות ושתי תוויות; התוכנית קוראת איזו תווית ללמוד. קוד הפתיחה מפצל ומנרמל.
- אמנו
LogisticRegressionעל שורות האימון המנורמלות. - הדפיסו כל משקל, מהגדול לקטן (2 ספרות אחרי הנקודה), יחד עם הכיוון שלו.
- הדפיסו את הראיה החזקה ביותר, לכאן או לכאן.
עבור אפליקציה אחרת:
friends: 1.02, pushes toward yes
reminder_on: 0.42, pushes toward yes
age: 0.06, pushes toward yes
daily_goal_min: -0.11, pushes toward no
lessons_week1: -0.2, pushes toward no
night_owl: -0.64, pushes toward no
Strongest evidence: friendsנסו בעצמכם
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
learners = pd.read_csv("learners.csv")
features = ["daily_goal_min", "friends", "reminder_on", "lessons_week1", "night_owl", "age"]
label = input() # kept_streak או finished_course
X_train, X_test, y_train, y_test = train_test_split(learners[features], learners[label], test_size=0.25, random_state=0)
scaler = StandardScaler()
X_train_s = scaler.fit_transform(X_train)
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה למידה מונחית
תרגלו בעצמכם: קומפיילר Python אונליין