Menu
CoddyTech

Revisão: Vizinhos do Vinho

Parte da seção Aprendizado supervisionado do Journey de Machine Learning da Coddy. Lição 10 de 58.

challenge icon

Desafio

Fácil

Desenhe um mapa como o primeiro deste capítulo, para vinhos. O código inicial divide 178 vinhos (duas características, cultivares de 0 a 2), lista ks e rotula o gráfico.

  1. Escale os dois conjuntos, ajustando com os vinhos de treino.
  2. Exiba o k com a melhor acurácia de teste (por enquanto: o capítulo 7 tem um avaliador mais justo).
  3. Com esse k, preencha o mapa: grade xx, yy, de 100 por 100, de -3 a 3 nos dois sentidos, respostas em zz.
  4. Faça um gráfico de dispersão dos vinhos de treino escalados por cima, rotulados com base em names; adicione uma legenda.

Usando álcool e flavonoides:

Best k: 13 (test accuracy 0.956)

Um mapa de vinhos com álcool e flavonoides, ambos escalados: uma região laranja à esquerda, uma região azul no canto superior direito e uma região verde abaixo, com os vinhos de treino de cada classe por cima e uma legenda

Coddy descreve seu mapa.

Experimente você mesmo

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 vinhos de três cultivares, classes 0, 1, 2
wine = load_wine()
# colunas 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)")

# Escreva seu código abaixo

Todas as lições de Aprendizado supervisionado

Pratique por conta própria: Compilador de Python online