Menu
CoddyTech

Podsumowanie: sąsiedzi w zbiorze Wine

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

challenge icon

Wyzwanie

Łatwy

Narysuj mapę dla wina, podobnie jak pierwszą mapę w tym rozdziale. Kod początkowy dzieli 178 win (dwie cechy, odmiany od 0 do 2), zawiera listę ks i opisuje wykres.

  1. Przeskaluj oba zbiory, dopasowując skalowanie do win treningowych.
  2. Wypisz k z najlepszą dokładnością na zbiorze testowym (na razie: w rozdziale 7 poznasz sprawiedliwszą metodę oceny).
  3. Dla tego k wypełnij mapę: siatka xx, yy, o wymiarach 100 na 100, od -3 do 3 w obu kierunkach, wyniki w zz.
  4. Nałóż na nią wykres punktowy przeskalowanych win treningowych, oznaczonych na podstawie names; dodaj legendę.

Na podstawie zawartości alkoholu i flawonoidów:

Best k: 13 (test accuracy 0.956)

Mapa win na podstawie zawartości alkoholu i flawonoidów, obu przeskalowanych: pomarańczowy obszar po lewej, niebieski obszar w prawym górnym rogu i zielony obszar poniżej, z winami treningowymi każdej klasy na wierzchu i legendą

Coddy opisuje Twoją mapę.

Spróbuj swoich sił

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import StandardScaler

# 178 win z trzech odmian, klasy 0, 1, 2
wine = load_wine()
# kolumny 6 i 12: flavanoids i prolina
X = wine.data[:, [6, 12]]
y = wine.target
names = ["cultivar A", "cultivar B", "cultivar C"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
ks = range(1, 32, 2)  # k = 1, 3, 5, ..., 31

fig, ax = plt.subplots()
ax.set_title("Wine Neighbors")
ax.set_xlabel("flavanoids (scaled)")
ax.set_ylabel("proline (scaled)")

# Napisz swój kod poniżej

Wszystkie lekcje w sekcji Uczenie nadzorowane

Poćwicz samodzielnie: Kompilator Python online