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.