Curvas de Validação: Plotando Pontuações para Avaliar Modelos

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Em aprendizagem de máquina, cada estimador tem suas vantagens e desvantagens. O erro de generalização de um estimador pode ser decomposto em viés, variância e ruído. O viés de um estimador é o erro médio para diferentes conjuntos de treinamento, enquanto a variância indica sua sensibilidade a conjuntos de treinamento variados. O ruído é uma propriedade dos dados.

Neste laboratório, exploraremos como usar curvas de validação para avaliar o desempenho de modelos de aprendizado de máquina. As curvas de validação permitem plotar a influência de um único hiperparâmetro na pontuação de treinamento e na pontuação de validação, ajudando-nos a determinar se o modelo está sobreajustando ou subajustando para diferentes valores de hiperparâmetro.

Dicas da Máquina Virtual

Após o término da inicialização da máquina virtual, clique no canto superior esquerdo para mudar para a aba Notebook para acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação de operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos prontamente o problema para você.

Importar as Bibliotecas Necessárias e Carregar os Dados

Vamos começar importando as bibliotecas necessárias e carregando um conjunto de dados. Neste exemplo, usaremos o conjunto de dados Iris.

import numpy as np
from sklearn.model_selection import validation_curve
from sklearn.datasets import load_iris
from sklearn.linear_model import Ridge

np.random.seed(0)
X, y = load_iris(return_X_y=True)

Embaralhar os Dados

Para garantir aleatoriedade em nossa análise, vamos embaralhar a ordem das amostras em nosso conjunto de dados.

indices = np.arange(y.shape[0])
np.random.shuffle(indices)
X, y = X[indices], y[indices]

Plotar a Curva de Validação

Agora, vamos plotar a curva de validação usando a função validation_curve. Usaremos o estimador Ridge e variaremos o hiperparâmetro alpha em uma gama de valores.

param_range = np.logspace(-7, 3, 3)
train_scores, valid_scores = validation_curve(
    Ridge(), X, y, param_name="alpha", param_range=param_range, cv=5)

Resumo

Neste laboratório, exploramos o conceito de curvas de validação e como elas podem ser usadas para avaliar modelos de aprendizado de máquina. Ao plotar a pontuação de treinamento e a pontuação de validação para diferentes valores de hiperparâmetros, podemos determinar se um modelo está sofrendo de overfitting ou underfitting. Essa informação nos ajuda a selecionar os melhores hiperparâmetros para nossos modelos e melhorar seu desempenho.