Podsumowanie: naprawa deskorolki
Część sekcji Uczenie nadzorowane ścieżki Machine Learning w Coddy. Lekcja 40 z 58.
Wyzwanie
ŚredniPunkt wypożyczeń w skateparku chce modelu, który wykrywa zwrócone deski wymagające naprawy. Program odczytuje największą wartość k do sprawdzenia.
- Odłóż 25% wierszy na testy (
random_state=0). - Dla każdej wartości k w
ksprzeprowadź walidację krzyżową k-NN na wierszach treningowych (cv=5). Przedstaw średnie za pomocą słupków i wypisz najlepszą wartość k. - Przeprowadź wyszukiwanie siatką dla drzewa po
max_depthwdepths(cv=5,random_state=0) i wypisz najlepszy wynik. - Wygrywa wyższa średnia: wypisz
Winner: k-NNlubWinner: treewraz z dokładnością na zbiorze testowym.
Dla innego parku i wartości 13:
Best k: 13 (mean 0.785)
Best depth: 5 (mean 0.763)
Winner: k-NN, test accuracy 0.822Następnie Coddy opisze twój wykres. Ich wykres wygląda tak:
Spróbuj swoich sił
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split, cross_val_score, GridSearchCV
from sklearn.neighbors import KNeighborsClassifier
from sklearn.tree import DecisionTreeClassifier
# Największa wartość k do wypróbowania, na przykład 15
max_k = int(input())
# Jeden wiersz na każdą zwróconą deskorolkę: liczba wypożyczeń od ostatniego serwisu, oceny zużycia od 0 do 10
# oraz pęknięcia blatu; 1 w repair oznacza, że deskorolka trafiła do warsztatu
boards = pd.read_csv("skateboards.csv")
features = ["rentals", "wheel_wear", "bearing_noise", "grip_wear", "truck_wobble", "deck_cracks"]
X = boards[features]
y = boards["repair"]
# Każda cecha jest niewielką liczbą lub oceną, więc k-NN nie wymaga tu skalowania
ks = list(range(1, max_k + 1, 2))
depths = [2, 3, 4, 5, 6, 7, 8]
fig, ax = plt.subplots()
ax.set_title("Skateboard Repairs: Accuracy by k")
ax.set_xlabel("k (neighbors)")
ax.set_ylabel("Mean CV accuracy")
ax.set_xticks(ks)
ax.set_ylim(0.6, 0.9) # zaczyna się od 0.6, aby było widać niewielkie różnice
# Napisz swój kod poniżej
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