Menu
CoddyTech

Riepilogo: vicini del vino

Fa parte della sezione Apprendimento supervisionato del percorso Machine Learning di Coddy. Lezione 10 di 58.

challenge icon

Sfida

Facile

Disegna una mappa come quella del primo capitolo, per il vino. Il codice iniziale suddivide 178 vini (due caratteristiche, cultivar da 0 a 2), elenca ks ed etichetta il grafico.

  1. Scala entrambi gli insiemi, adattando il modello ai vini di addestramento.
  2. Stampa il valore di k con la migliore accuratezza sul test (per ora: il capitolo 7 userà un criterio più equo).
  3. Con quel valore di k, completa la mappa: griglia xx, yy, 100 per 100, da -3 a 3 in entrambe le direzioni, risposte in zz.
  4. Disegna sopra i vini di addestramento scalati, etichettati usando names; aggiungi una legenda.

Usando alcol e flavanoidi:

Best k: 13 (test accuracy 0.956)

Una mappa dei vini basata su alcol e flavanoidi, entrambi scalati: una regione arancione a sinistra, una regione blu in alto a destra e una regione verde in basso, con i vini di addestramento di ogni classe sovrapposti e una legenda

Coddy descrive la tua mappa.

Provalo tu

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 vini da tre vitigni, classi 0, 1, 2
wine = load_wine()
# colonne 6 e 12: flavanoids e 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)")

# Scrivi il tuo codice qui sotto

Tutte le lezioni di Apprendimento supervisionato

Esercitati da solo: Compilatore Python online