Exploração de Métodos de Conjunto com Scikit-Learn

Beginner

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

Introdução

Neste laboratório, exploraremos métodos de conjuntos usando o scikit-learn. Métodos de conjuntos são técnicas de aprendizado de máquina que combinam vários modelos para alcançar um desempenho superior a um único modelo. Iremos focar especificamente em dois métodos populares de conjuntos: Bagging e Random Forests.

Dicas da Máquina Virtual

Após o início da VM, 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 o problema rapidamente para você.

Importar Dependências

Vamos começar importando as dependências necessárias.

import numpy as np
from sklearn.ensemble import BaggingClassifier, RandomForestClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split, cross_val_score

Carregar os Dados

Em seguida, carregaremos o conjunto de dados iris do scikit-learn usando a função load_iris.

data = load_iris()
X, y = data.data, data.target

Dividir os Dados

Vamos dividir os dados em conjuntos de treino e teste usando a função train_test_split do scikit-learn.

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Ajustar um Classificador Bagging

Agora, ajustaremos um Classificador Bagging nos dados de treino. O Classificador Bagging é um método de conjunto que utiliza amostragem bootstrap para criar múltiplos modelos base (geralmente árvores de decisão) e agrega suas previsões usando votação por maioria.

bagging = BaggingClassifier(DecisionTreeClassifier(), n_estimators=10)
bagging.fit(X_train, y_train)

Avaliar o Classificador Bagging

Vamos avaliar o Classificador Bagging calculando a taxa de acerto nos dados de teste usando o método score.

accuracy = bagging.score(X_test, y_test)
print(f"Precisão do Classificador Bagging: {accuracy}")

Ajustar um Classificador Random Forest

Em seguida, ajustaremos um Classificador Random Forest nos dados de treino. O Classificador Random Forest também é um método de conjunto que utiliza amostragem bootstrap para criar múltiplas árvores de decisão, mas adiciona aleatoriedade extra considerando apenas um subconjunto de características em cada divisão.

random_forest = RandomForestClassifier(n_estimators=10)
random_forest.fit(X_train, y_train)

Avaliar o Classificador Random Forest

Vamos avaliar o Classificador Random Forest calculando a taxa de acerto nos dados de teste.

accuracy = random_forest.score(X_test, y_test)
print(f"Precisão do Classificador Random Forest: {accuracy}")

Resumo

Neste laboratório, exploramos métodos de conjunto utilizando o scikit-learn. Ajustamos um Classificador Bagging e um Classificador Random Forest no conjunto de dados iris e avaliamos seu desempenho. Métodos de conjunto como Bagging e Random Forests podem ser ferramentas poderosas para melhorar o desempenho preditivo de modelos de aprendizado de máquina.