Menu
CoddyTech

Récapitulatif : voisins et vin

Fait partie de la section Apprentissage supervisé du Journey Machine Learning de Coddy. Leçon 10 sur 58.

challenge icon

Défi

Facile

Dessine une carte comme celle du début de ce chapitre, pour le vin. Le code de départ répartit 178 vins (deux caractéristiques, cultivars de 0 à 2), liste ks et étiquette le graphique.

  1. Mets à l’échelle les deux ensembles, en ajustant sur les vins d’entraînement.
  2. Affiche le k ayant la meilleure précision de test (pour l’instant : le chapitre 7 présentera un juge plus équitable).
  3. Avec ce k, remplis la carte : grille xx, yy, de 100 par 100, de -3 à 3 dans les deux directions, réponses dans zz.
  4. Superpose les vins d’entraînement mis à l’échelle sous forme de nuage de points, avec les étiquettes de names ; ajoute une légende.

À partir de l’alcool et des flavanoïdes :

Best k: 13 (test accuracy 0.956)

Une carte des vins à partir de l’alcool et des flavanoïdes, tous deux mis à l’échelle : une région orange à gauche, une région bleue en haut à droite et une région verte en dessous, avec les vins d’entraînement de chaque classe superposés et une légende

Coddy décrit ta carte.

Essayez vous-même

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 vins issus de trois cépages, classes 0, 1, 2
wine = load_wine()
# colonnes 6 et 12: flavanoids et proline
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)")

# Écrivez votre code ci-dessous

Toutes les leçons de Apprentissage supervisé

Entraînez-vous par vous-même : Compilateur Python en ligne