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ł:
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.
Wyzwanie
ŁatwyAplikacja 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.
- Utwórz model k-najbliższych sąsiadów i dopasuj go do treningowych ptaków.
- Przewidź gatunek każdego zaobserwowanego ptaka w jednym wywołaniu.
- 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: robinSpró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
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Uczenie nadzorowane
1Twój pierwszy model
Uczenie się na przykładachZbiory treningowe i testoweDopasowywanie i przewidywanieOcena modeluPodsumowanie: Sortownik nasion4Regresja logistyczna
Przewidywanie „tak” lub „nie”Próg decyzyjnyWagi jako dowodyWiele klasPodsumowanie: filtr spamu2Najbliżsi sąsiedzi
Jak działa k-NNWybór kGranice decyzyjneSkalowanie dla sąsiadówPodsumowanie: sąsiedzi w zbiorze Wine5Ocena klasyfikatorów
Macierz pomyłekPrecyzja i czułośćWynik F1Niezrównoważone klasyKrzywe ROCPodsumowanie: test przesiewowy8Walidacja krzyżowa
Walidacja k-krotnaUczciwe porównywanie modeliPrzeszukiwanie siatkiPodsumowanie: naprawa deskorolki11Projekt: Gatunki pingwinów
Poznaj pingwinyPrzygotuj daneWybierz modelDopracuj zwycięski modelWdróż modelPoćwicz samodzielnie: Kompilator Python online