Ocena modelu
Część sekcji Uczenie nadzorowane ścieżki Machine Learning w Coddy. Lekcja 4 z 58.
Czy model jest dobry? Mówi o tym jego dokładność, czyli odsetek wierszy testowych, które klasyfikuje poprawnie. Porównaj ją z leniwym zgadywaniem:
78% wypożyczeń w ramach testu tej biblioteki zwrócono w terminie, więc wynik za odpowiadanie w terminie za każdym razem wynosi 0.78. To jest wartość bazowa.
from sklearn.metrics import accuracy_score
pred = model.predict(X_test)
print(accuracy_score(y_test, pred))
print(model.score(X_test, y_test))
common = y_train.value_counts().index[0]
print((y_test == common).mean())To wypisuje 0.88, 0.88, 0.78. score przewiduje i zlicza w jednym wywołaniu; model bazowy zawsze podaje najczęściej występującą etykietę treningową.
Model zasługuje na swoje miejsce tylko wtedy, gdy osiąga lepsze wyniki niż punkt odniesienia.
Wyzwanie
ŁatwyCzujniki pszczelarki monitorują 160 uli w pliku hives.csv; swarm określa, czy w danym ulu doszło do rójki. Czy jeden czujnik może ją ostrzec? Kod początkowy odczytuje nazwę czujnika i dopasowuje model wyłącznie na podstawie danych z tego czujnika.
- Wypisz dokładność modelu na zbiorze testowym, zaokrągloną do 3 miejsc po przecinku.
- Wypisz wynik bazowy, podając etykietę, którą model zawsze przewiduje.
- Wypisz, czy model osiąga lepszy wynik.
Dla innej pasieki i zmiennej weight_change_kg:
Model on weight_change_kg: 0.775
Always "no": 0.7
Beats the baseline: yesSpróbuj swoich sił
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
# Jeden wiersz na ul: dane z jego czujników oraz informacja, czy doszło do rójki
hives = pd.read_csv("hives.csv")
sensor = input()
X = hives[[sensor]]
y = hives["swarm"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
model = KNeighborsClassifier()
model.fit(X_train, y_train)
# 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