Validação Cruzada em Machine Learning com Python

Beginner

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

Introdução

No aprendizado de máquina, a validação cruzada é uma técnica usada para avaliar o desempenho de um modelo em um conjunto de dados independente. Ajuda a prevenir o superajuste, fornecendo uma estimativa melhor de como o modelo se generalizará para novos dados não vistos.

Neste laboratório, exploraremos o conceito de validação cruzada e como implementá-lo usando a biblioteca scikit-learn em Python.

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 das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

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

Importar as bibliotecas necessárias

Primeiro, vamos importar as bibliotecas necessárias para este laboratório.

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn import datasets
from sklearn import svm

Carregar o conjunto de dados

Em seguida, vamos carregar um conjunto de dados para treinar nosso modelo. Neste exemplo, usaremos o conjunto de dados Iris, um conjunto de dados popular para tarefas de classificação.

X, y = datasets.load_iris(return_X_y=True)

Dividir o conjunto de dados em conjuntos de treino e teste

Para avaliar o desempenho do nosso modelo, precisamos dividir o conjunto de dados em um conjunto de treino e um conjunto de teste. Usaremos a função train_test_split da biblioteca scikit-learn para fazer isso.

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=0)

Treinar e avaliar o modelo

Agora, vamos treinar um classificador de máquina de vetores de suporte (SVM) no conjunto de treino e avaliar seu desempenho no conjunto de teste.

clf = svm.SVC(kernel='linear', C=1).fit(X_train, y_train)
score = clf.score(X_test, y_test)
print("Precisão: ", score)

Resumo

Neste laboratório, aprendemos como implementar a validação cruzada usando a biblioteca scikit-learn em Python. Dividimos o conjunto de dados em conjuntos de treino e teste, treinamos um modelo no conjunto de treino e avaliamos seu desempenho no conjunto de teste. A validação cruzada ajuda a prevenir o sobreajuste e fornece uma estimativa melhor de quão bem um modelo se generalizará para novos dados não vistos.