Menu
CoddyTech

Dopasowywanie i przewidywanie

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

Każdy model scikit-learn działa w dwóch wywołaniach. fit analizuje wiersze treningowe wraz z ich etykietami; predict przypisuje etykiety wierszom, których model nigdy wcześniej nie widział:

Diagram: sześć zwierząt domowych, X_train z wagą i długością uszu obok y_train, trzy koty i trzy psy, przechodzi przez fit do modelu. Dwa nowe zwierzęta domowe, X_new, przechodzą przez predict z użyciem modelu i zostają sklasyfikowane jako kot i pies

Modelem z pierwszej lekcji tej ścieżki jest k najbliższych sąsiadów: przypisuje etykietę wierszowi na podstawie najbliższych do niego wierszy treningowych. Zwierzęta domowe według masy (kg) i długości uszu (cm):

from sklearn.neighbors import KNeighborsClassifier

X_train = np.array([[4, 6], [5, 7], [3, 5], [30, 10], [25, 12], [35, 11]])
y_train = np.array(["cat", "cat", "cat", "dog", "dog", "dog"])
model = KNeighborsClassifier()
model.fit(X_train, y_train)
print(model.predict([[6, 6], [28, 11]]))

To wyświetla ['cat' 'dog']. Nowe wiersze dodaje się jako tabelę, po jednym wierszu na zwierzę.

Utwórz, dopasuj, przewiduj: każdy model w tej sekcji wykonuje te trzy kroki.

challenge icon

Wyzwanie

Łatwy

Aplikacja klubu miłośników ptaków rozpoznaje ptaki na podstawie rozpiętości skrzydeł i masy. Kod początkowy dzieli dane klubu z pliku birds.csv i odczytuje dzisiejsze ptaki do tabeli spotted.

  1. Utwórz model k-najbliższych sąsiadów i dopasuj go do treningowych ptaków.
  2. Przewidź gatunek każdego zaobserwowanego ptaka w jednym wywołaniu.
  3. Wypisz jeden wiersz dla każdego ptaka, jak poniżej.

Dla trzech ptaków podczas innego spaceru:

Bird 1: sparrow
Bird 2: blackbird
Bird 3: robin

Spróbuj swoich sił

import pandas as pd
from sklearn.model_selection import train_test_split

# Jeden wiersz na każdego ptaka, którego klub zidentyfikował: rozpiętość skrzydeł w cm, masa w gramach
birds = pd.read_csv("birds.csv")
X = birds[["wingspan_cm", "weight_g"]]
y = birds["species"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)

# Dzisiejszy wieczorny spacer: liczba ptaków, a następnie rozpiętość skrzydeł i masa każdego z nich
count = int(input())
spans = []
weights = []
for i in range(count):
    spans.append(float(input()))
    weights.append(float(input()))
spotted = pd.DataFrame({"wingspan_cm": spans, "weight_g": weights})

# 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