Introdução
Neste laboratório, iremos percorrer um exemplo de utilização de classificadores Naive Bayes da biblioteca scikit-learn em Python. Os classificadores Naive Bayes são um conjunto de algoritmos de aprendizagem supervisionada frequentemente utilizados para tarefas de classificação. Estes classificadores baseiam-se na aplicação do teorema de Bayes com a suposição de independência condicional entre cada par de características, dado o valor da variável de classe.
Neste exemplo, utilizaremos o classificador Gaussian Naive Bayes da scikit-learn para classificar o conjunto de dados iris, um conjunto de dados popular em aprendizagem automática. O objetivo é prever a espécie de uma flor de iris com base nas dimensões das suas pétalas e sépalas.
Dicas da Máquina Virtual
Após o arranque da máquina virtual, clique no canto superior esquerdo para mudar para a aba Notebook para aceder ao Jupyter Notebook para a prática.
Por vezes, pode ser necessário esperar alguns segundos para o Jupyter Notebook terminar o carregamento. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se tiver problemas durante a aprendizagem, não hesite em contactar o Labby. Forneça feedback após a sessão e resolveremos prontamente o problema para si.
Importar Bibliotecas e Carregar o Conjunto de Dados
Comecemos importando as bibliotecas necessárias e carregando o conjunto de dados iris. Usaremos a função load_iris do módulo sklearn.datasets para carregar o conjunto de dados.
from sklearn.datasets import load_iris
## Carregar o conjunto de dados iris
iris = load_iris()
X = iris.data ## Características
y = iris.target ## Variável alvo
print("Número de amostras:", X.shape[0])
print("Número de características:", X.shape[1])
print("Número de classes:", len(set(y)))
Dividir o Conjunto de Dados em Conjuntos de Treino e Teste
Em seguida, dividiremos o conjunto de dados em conjuntos de treino e teste utilizando a função train_test_split do módulo sklearn.model_selection. O conjunto de treino será utilizado para treinar o classificador Naive Bayes, e o conjunto de teste será utilizado para avaliar o seu desempenho.
from sklearn.model_selection import train_test_split
## Dividir o conjunto de dados em conjuntos de treino e teste
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
Treinar e Avaliar o Classificador Gaussian Naive Bayes
Agora, treinaremos o classificador Gaussian Naive Bayes no conjunto de treino e avaliaremos seu desempenho no conjunto de teste. Usaremos a classe GaussianNB do módulo sklearn.naive_bayes.
from sklearn.naive_bayes import GaussianNB
## Criar um classificador Gaussian Naive Bayes
gnb = GaussianNB()
## Treinar o classificador
gnb.fit(X_train, y_train)
## Prever a variável alvo para o conjunto de teste
y_pred = gnb.predict(X_test)
## Calcular a precisão do classificador
accuracy = (y_pred == y_test).sum() / len(y_test)
print("Precisão:", accuracy)
Interpretar os Resultados
Com base na precisão obtida, podemos interpretar o desempenho do classificador Gaussian Naive Bayes no conjunto de dados iris. A precisão representa a proporção de valores da variável alvo previstos corretamente no conjunto de teste. Neste caso, a precisão representa a proporção de espécies de flores iris classificadas corretamente.
Resumo
Neste laboratório, analisamos um exemplo de utilização do classificador Gaussian Naive Bayes do scikit-learn. Carregamos o conjunto de dados iris, dividimos-o em conjuntos de treino e teste, treinámos o classificador no conjunto de treino e avaliámos o seu desempenho no conjunto de teste. A precisão obtida fornece-nos uma indicação de quão bem o classificador se desempenhou na previsão das espécies de flores iris. Os classificadores Naive Bayes são algoritmos simples, mas eficazes, para tarefas de classificação e são frequentemente utilizados em diversas aplicações do mundo real.