Este projeto visa aplicar técnicas de machine learning para a classificação de vinhos com base em suas características químicas. Utilizamos uma rede neural para realizar a classificação e avaliamos seu desempenho com uma matriz de confusão e uma análise visual das previsões.
O projeto inclui as seguintes etapas:
1. Importação das Bibliotecas
: Carregamos todas as bibliotecas necessárias, como `pandas`, `numpy`, `seaborn`, `scikit-learn` e `torch`.
2. Preparação dos Dados
Carregamos a base de dados de vinhos, renomeamos as colunas, e realizamos a codificação das classes.
3. Divisão dos Dados
: Separamos os dados em conjuntos de treinamento e teste.
4. Construção do Modelo
: Definimos uma rede neural com duas camadas escondidas usando a biblioteca PyTorch.
5. Treinamento do Modelo
: Treinamos o modelo usando a função de perda de entropia cruzada e o otimizador Adam.
6. Avaliação
: Avaliamos o modelo usando uma matriz de confusão e uma visualização com `seaborn`.
Para executar este projeto, você precisará ter o Python instalado em seu sistema, juntamente com as seguintes bibliotecas:
- pandas- numpy
- seaborn
- scikit-learn
- torch
- O conjunto de dados: https://archive.ics.uci.edu/dataset/109/wine
- Esses dados são resultados de uma análise química de
vinhos cultivados na mesma região da Itália, mas derivados de três
cultivares diferentes.
A análise determinou as quantidades de 13 constituintes
encontrado em cada um dos três tipos de vinhos.
- Há 178 classificações, dividadas entre as três cultivas, com maior porcentual da segunda classe:
O modelo foi treinado por 2000 épocas, e a precisão e a perda foram monitoradas durante o treinamento. Abaixo está a matriz de confusão resultante da avaliação do modelo:
sns.heatmap(matriz, annot=True)
O desempenho do modelo foi medido pela acurácia e pela visualização da matriz de confusão. A acurácia média durante o treinamento foi registrada em cada época.
Link do Projeto: https://github.com/ViniciusSilveiraCampos/Qualidade_Do_Vinho/blob/main/Classificação_Vinhos.ipynb