Menu
CoddyTech

Wdróż model

Część sekcji Uczenie nadzorowane ścieżki Machine Learning w Coddy. Lekcja 54 z 58.

Pingwiny testowe czekały przez cały projekt. Dopasuj dostrojony potok do wierszy treningowych, a następnie oceń go raz na pingwinach testowych: to uczciwy wynik.

Następnie zobacz, gdzie model się myli. Model kliniki klasyfikuje pacjentów jako zdrowych, przeziębionych lub chorych na grypę; wiersze przedstawiają prawdę, a kolumny — jego przewidywania:

Macierz pomyłek 3 na 3 dla modelu kliniki, przetestowanego na 60 pacjentach: zdrowi, przeziębieni i chorzy na grypę; na przekątnej znajdują się 20, 14 i 17 poprawnych odpowiedzi, a 5 przypadków przeziębienia zaklasyfikowano jako grypę

Nowy pingwin to tabela z jednym wierszem i kolumnami treningowymi. predict podaje jego nazwę, a predict_proba(new).max() określa pewność: udział zwycięskiej klasy, a w przypadku k-NN — sąsiadów, którzy się zgadzają.

challenge icon

Wyzwanie

Średni

Meta. model to dostrojony potok; kod początkowy wczytuje nowego pingwina do new_penguin.

  1. Dopasuj model do wierszy treningowych. Wypisz jego dokładność na zbiorze testowym (3 miejsca po przecinku) oraz liczbę pingwinów testowych, które poprawnie sklasyfikował.
  2. Narysuj macierz pomyłek dla predykcji testowych na ax i wyświetl ją.
  3. Podaj gatunek nowego pingwina i pewność modelu wyrażoną w procentach.

Dla kolonii na innej stacji:

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

a jej macierz:

Macierz pomyłek zatytułowana Test Penguins dla innej stacji: 29 pingwinów Adélie, 16 pingwinów maskowych i 27 pingwinów białobrewych poprawnie sklasyfikowanych, 1 pingwin Adélie nazwany pingwinem maskowym i 2 pingwiny maskowe nazwane pingwinami Adélie

Następnie Coddy pokaże twój wynik. Gwiazda z Meet the Penguins miała wymiary 47.2, 18.0, 194 i 3650, na Dream, samica. Uruchom swój program z jej danymi: kim jest?

Spróbuj swoich sił

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

# Kolonia z Meet the Penguins, jej cechy i etykieta
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)

# Z Prepare the Data: dwa tory
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)])

# Z Choose a Model and Tune the Winner: k-NN z k = 7
model = make_pipeline(prep, KNeighborsClassifier(n_neighbors=7))

# Nowy pingwin z terenu, przedstawiony jako jednowierszowa tabela z tymi samymi kolumnami
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")

# Napisz swój kod poniżej
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Uczenie nadzorowane

Poćwicz samodzielnie: Kompilator Python online