Odręcznie pisane cyfry
Część sekcji Uczenie nadzorowane ścieżki Machine Learning w Coddy. Lekcja 57 z 58.
Maszyna sortująca na poczcie odczytuje odręcznie zapisane cyfry kodu pocztowego ze skanów o wymiarach 8 na 8, które poznano w lekcji „Digits at a Glance”, load_digits:
Dwóch kandydatów ubiega się o pracę: k-NN, z wartością k zaproponowaną przez inżyniera, oraz las losowy składający się ze 100 drzew.
Tym razem błędy mają znaczenie. Biuro potrzebuje sprawiedliwszego zwycięzcy, jego wyniku na niewidzianych wcześniej skanach oraz najczęstszej pomyłki, więc te cyfry trafiają do człowieka.
Wyzwanie
TrudnyProgram odczytuje wartość k inżyniera; kod początkowy przygotowuje wykres z tytułem.
- Wydziel stratyfikowaną ćwiartkę danych testowych,
random_state=0. - Przeprowadź walidację krzyżową k-NN z tym
ki lasem składającym się ze 100 drzew (random_state=0), używając 5 podziałów i wierszy treningowych. Wypisz każdą średnią (z dokładnością do 3 miejsc po przecinku) oraz zwycięzcę. - Wytrenuj zwycięski model i wypisz jego dokładność na danych testowych.
- Wypisz największy błąd w testowej macierzy pomyłek, a następnie narysuj macierz na
axi wyświetl ją.
Dla innego urządzenia i wartości 3:
k-NN: CV accuracy 0.979
Random forest: CV accuracy 0.968
Winner: k-NN
Test accuracy: 0.976
Most confused: 7 read as 2 (3 times)Następnie Coddy wyświetli twoją macierz.
Spróbuj swoich sił
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.neighbors import KNeighborsClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay
digits = load_digits()
X = digits.data
y = digits.target
k = int(input())
fig, ax = plt.subplots()
ax.set_title("Test Digits")
# 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óż model3Regresja liniowa
Przewidywanie wartości liczbowychWiele cechPomiar błędówWykresy resztPodsumowanie: wypożyczanie rowerów6Drzewa decyzyjne
Drzewa zadają pytaniaCzytanie drzewaGłębokość drzewaWażność cechPodsumowanie: decyzje kredytowe12Wyzwania końcowe
Postępy w leczeniu cukrzycyZatwierdzanie kredytówOdręcznie pisane cyfryRezygnacja klientówPoćwicz samodzielnie: Kompilator Python online