כוונון צינור עיבוד
חלק מהיחידה למידה מונחית במסלול ה-Machine Learning של Coddy. שיעור 48 מתוך 58.
אפשר לכוונן צינור עיבוד כמו כל מודל, כולל שלבי ניקוי. כל הגדרה נקראת על שם השלב שלה, אחריו שני קווים תחתונים ואז הפרמטר:
pipe = make_pipeline(SimpleImputer(), DecisionTreeClassifier(random_state=0))
grid = {"simpleimputer__strategy": ["mean", "median", "most_frequent"],
"decisiontreeclassifier__max_depth": [2, 4, 6, 8]}
search = GridSearchCV(pipe, grid, cv=5)
search.fit(X_train, y_train)השמות של make_pipeline לכל שלב מבוססים על שם המחלקה שלו, באותיות קטנות. עבור 200 שיגורי טילי מודל, שהגיעו לגובה של 300 מ׳ או לא, 12 ההגדרות קיבלו את הציונים הבאים:
בכל קיפול מאמנים מחדש את כל הצינור, כולל את משלים הנתונים, כך שאף קיפול לא מציץ בשורות שבודקות אותו.
אתגר
בינוניבית ספר למוזיקה רוצה לדעת אילו תלמידי כינור יעברו את בחינת הדרגה שלהם. קוד הפתיחה קורא שלושה ערכים של k, וחיפוש הרשת שלו על פני צינור עיבוד נעצר בגלל שגיאה.
- תקנו את שני המפתחות של הרשת כך שהחיפוש יכוונן את האסטרטגיה של משלים הערכים החסרים ואת מספר השכנים של k-NN.
- הדפיסו את ההגדרות הטובות ביותר, את הדיוק באימות צולב ואת הדיוק במבחן, כמו בדוגמה שלהלן.
בית ספר אחר, עם 2, 4, 6:
Best: mean fills, 6 neighbors
Cross-validated accuracy: 0.720
Test accuracy: 0.820נסו בעצמכם
import pandas as pd
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.pipeline import make_pipeline
# תלמידי כינור: עברו את בחינת הדרגה (1) או לא (0); חלק מיומני האימון
# ומציוני הקריאה מן הדף חסרים
students = pd.read_csv("violins.csv")
X = students.drop(columns="passed")
y = students["passed"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
ks = [int(input()), int(input()), int(input())]
# החיפוש הזה נעצר בגלל שגיאה: תקנו את רשת הפרמטרים
pipe = make_pipeline(SimpleImputer(), StandardScaler(), KNeighborsClassifier())
grid = {
"strategy": ["mean", "median"],
"n_neighbors": ks,
}
search = GridSearchCV(pipe, grid, cv=5)
search.fit(X_train, y_train)
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה למידה מונחית
10צינורות עיבוד
צינורות עיבודעמודות מעורבותהשלמת ערכים חסרים בצינור עיבודכוונון צינור עיבודסיכום: ניקוי וחיזויתרגלו בעצמכם: קומפיילר Python אונליין