Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scikit-Learn Model - Predição de Diabetes

Projeto de Ciência de Dados desenvolvido em Python utilizando Pandas, Scikit-Learn e Jupyter Notebook para análise exploratória de dados e construção de modelos de Regressão Linear capazes de estimar um indicador relacionado ao diagnóstico de diabetes a partir de exames clínicos.

O projeto apresenta todo o fluxo de um problema de Machine Learning, desde a preparação dos dados até a avaliação dos modelos.


✨ Funcionalidades

  • Importação e tratamento de dados.
  • Análise exploratória (EDA).
  • Limpeza e preparação do conjunto de dados.
  • Codificação de variáveis categóricas (One-Hot Encoding).
  • Engenharia de atributos (cálculo do IMC).
  • Visualização de correlações.
  • Construção de modelos de Regressão Linear.
  • Avaliação dos modelos utilizando métricas estatísticas.
  • Comparação entre diferentes abordagens de modelagem.

🚀 Tecnologias utilizadas

Tecnologia Finalidade
Python Linguagem principal
Jupyter Notebook Desenvolvimento do projeto
Pandas Manipulação de dados
Matplotlib Visualização gráfica
Seaborn Visualização estatística
Scikit-Learn Modelagem e avaliação de Machine Learning

📦 Estrutura do projeto

.
├── datasets/
│   └── exame_diabetes.csv
├── modelo_diabetes.ipynb
├── requirements.txt
└── README.md

Organização

Arquivo Descrição
modelo_diabetes.ipynb Notebook contendo todo o fluxo de análise e modelagem
datasets/exame_diabetes.csv Base de dados utilizada no treinamento
requirements.txt Dependências do projeto

⚙️ Pré-requisitos

Antes de executar o projeto, instale:

  • Python 3.9 ou superior
  • pip
  • Jupyter Notebook ou JupyterLab (recomendado)

🔧 Instalação

Clone o repositório:

git clone <URL_DO_REPOSITORIO>

Acesse a pasta do projeto:

cd scikit-learn-model

Crie um ambiente virtual (opcional, porém recomendado):

Linux/macOS

python -m venv venv
source venv/bin/activate

Windows

python -m venv venv
venv\Scripts\activate

Instale as dependências:

pip install -r requirements.txt

▶️ Como executar

Inicie o Jupyter Notebook:

jupyter notebook

ou

jupyter lab

Abra o arquivo:

modelo_diabetes.ipynb

Execute as células sequencialmente para reproduzir toda a análise.


📊 Fluxo do projeto

O notebook segue as seguintes etapas:

  1. Importação das bibliotecas.
  2. Carregamento da base de dados.
  3. Exploração inicial dos dados.
  4. Tratamento dos atributos.
  5. Conversão da variável categórica genero em variáveis numéricas.
  6. Análise de correlação.
  7. Visualização gráfica das variáveis.
  8. Criação da feature IMC.
  9. Novo estudo de correlação.
  10. Construção de dois modelos de Regressão Linear.
  11. Avaliação utilizando métricas estatísticas.

🧠 Modelos implementados

O projeto compara dois modelos distintos.

Modelo 1

Utiliza todas as variáveis disponíveis (exceto IMC).

Características:

  • Regressão Linear
  • Divisão treino/teste
  • Avaliação por R²
  • Avaliação por MAE

Modelo 2

Utiliza apenas a feature criada IMC como variável explicativa.

Também são avaliados:

  • Coeficiente angular
  • Intercepto
  • MAE

Além disso, é exibida a reta de regressão.


📈 Métricas utilizadas

O projeto utiliza:

Métrica Objetivo
R² Score Medir a qualidade do ajuste do modelo
MAE (Mean Absolute Error) Medir o erro médio absoluto das previsões

🧪 Testes

Não foram encontrados testes automatizados.


📚 Dataset

O conjunto de dados está localizado em:

datasets/exame_diabetes.csv

Entre os atributos identificados estão:

  • Peso
  • Altura
  • Gênero
  • Resultado
  • Identificador do paciente

Durante o pré-processamento:

  • a coluna id_paciente é removida;
  • genero é convertido via One-Hot Encoding;
  • é criada a variável derivada IMC.

🌎 Variáveis de ambiente

O projeto não utiliza variáveis de ambiente.


📄 Dependências

As bibliotecas utilizadas estão definidas no requirements.txt.

Entre elas:

  • pandas
  • matplotlib
  • seaborn
  • scikit-learn

📌 Roadmap

  • Implementar novos algoritmos de Machine Learning (Random Forest, XGBoost, SVM, etc.).
  • Adicionar validação cruzada (Cross Validation).
  • Implementar Pipeline do Scikit-Learn.
  • Normalizar e padronizar os dados.
  • Comparar diferentes modelos de regressão.
  • Persistir o modelo treinado com joblib.
  • Criar uma API utilizando Flask ou FastAPI para servir o modelo.
  • Adicionar testes automatizados para o pipeline de Machine Learning.
  • Criar notebooks separados para EDA e treinamento.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages