Menu
CoddyTech

העלאת המודל

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

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

עכשיו נראה איפה הוא טועה. המודל של מרפאה מסווג אנשים כבריאים, מצוננים או חולים בשפעת; השורות מציגות את התשובות הנכונות, והעמודות את הניחושים שלו:

מטריצת בלבול בגודל 3 על 3 של מודל מרפאה, על סמך 60 מטופלים במבחן: בריאים, מצוננים וחולים בשפעת; באלכסון מופיעות 20, 14 ו-17 תשובות נכונות, ו-5 מצוננים סווגו כחולים בשפעת

פינגווין חדש הוא טבלה בת שורה אחת עם העמודות של נתוני האימון. predict נותנת לו שם, ו־predict_proba(new).max() מציין את מידת הביטחון: החלק היחסי של המחלקה המנצחת; ב־k-NN, השכנים שמסכימים.

challenge icon

אתגר

בינוני

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

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

עבור מושבה בתחנה אחרת:

Test accuracy: 0.960 (72 of 75 penguins)
New penguin: Gentoo (86% sure)

והמטריצה שלה:

מטריצת בלבול שכותרתה Test Penguins עבור תחנה אחרת: 29 פינגוויני Adelie, 16 פינגוויני Chinstrap ו-27 פינגוויני Gentoo זוהו נכון, פינגווין Adelie אחד סווג כ-Chinstrap ו-2 פינגוויני Chinstrap סווגו כ-Adelie

אחר כך Coddy ידווח על התוצאות שלך. הכוכבת מ-Meet the Penguins נמדדה כ-47.2, 18.0, 194 ו-3650, באי Dream, נקבה. הריצו את התוכנית שלכם איתה: מי היא?

נסו בעצמכם

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import make_pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import ConfusionMatrixDisplay

# המושבה מתוך Meet the Penguins, המאפיינים שלה והתווית שלה
penguins = pd.read_csv("penguins.csv")
numbers = ["bill_length_mm", "bill_depth_mm", "flipper_length_mm", "body_mass_g"]
text = ["island", "sex"]
X = penguins[numbers + text]
y = penguins["species"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, stratify=y, random_state=0)

# מתוך Prepare the Data: שני המסלולים
number_steps = make_pipeline(SimpleImputer(strategy="median"), StandardScaler())
text_steps = make_pipeline(SimpleImputer(strategy="constant", fill_value="unknown"), OneHotEncoder())
prep = ColumnTransformer([("numbers", number_steps, numbers), ("words", text_steps, text)])

# מתוך Choose a Model and Tune the Winner: ‏k-NN עם k = 7
model = make_pipeline(prep, KNeighborsClassifier(n_neighbors=7))

# פינגווין חדש מהשטח, כטבלה בת שורה אחת עם אותן עמודות
new_penguin = pd.DataFrame({
    "bill_length_mm": [float(input())],
    "bill_depth_mm": [float(input())],
    "flipper_length_mm": [float(input())],
    "body_mass_g": [float(input())],
    "island": [input()],
    "sex": [input()],
})

fig, ax = plt.subplots()
ax.set_title("Test Penguins")

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

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

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

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