Projeto de Machine Learning para classificação de flores Iris usando diversos algoritmos e deploy via API FastAPI.
Este projeto implementa e compara diferentes modelos de Machine Learning (Regressão Logística, KNN, SVM e Random Forest) para classificar flores do dataset Iris. Inclui uma API REST para realizar predições em tempo real.
- Clone o repositório:
git clone https://github.com/IvoAP/Poc_ML.git
cd Poc_ML- Instale as dependências usando
uv:
uv syncExecute o notebook main.ipynb para treinar os modelos e gerar os arquivos:
iris_model.joblib(modelo treinado)iris_scaler.joblib(scaler para normalização)
Para rodar o servidor FastAPI:
uvicorn deploy:app --reloadA API estará disponível em: http://127.0.0.1:8000
Acesse a documentação interativa em: http://127.0.0.1:8000/docs
Ou faça uma requisição POST para /predict com os dados da flor:
{
"sepal_length": 5.1,
"sepal_width": 3.5,
"petal_length": 1.4,
"petal_width": 0.2
}Exemplo de resposta esperada:
{
"species": "setosa",
"probability": 0.99
}- Acurácia
- F1-Score (Macro)
- Precision (Macro)
- Recall (Macro)
- Cohen's Kappa
- MCC (Matthews Correlation Coefficient)
Poc_ML/
├── main.ipynb # Notebook com análise e treinamento
├── deploy.py # API FastAPI para predições
├── iris_model.joblib # Modelo treinado
├── iris_scaler.joblib # Scaler para normalização
├── pyproject.toml # Dependências do projeto
└── README.md # Este arquivo