Giancarlo Ruggiero Developer |
pip install -r requirements.txt
Na raiz do projeto existe um arquivo .env.example
que deve ser copiado e renomeado para .env
e preenchido com as credenciais da AWS.
Também é necessário configurar as credenciais da AWS. Para isso, execute:
aws configure
Os dados são baixados e pré-processados automaticamente. Para isso, execute:
python src/process_data.py
Para inicializar o mlflow, execute:
mlflow ui
Para treinar o modelo, execute:
python src/train.py
O treinamento do modelo irá gerar um novo experimento no mlflow. Caso deseje registrar o modelo, altere a flag register_model
para True
no arquivo src/train.py
.
Gera logs no diretório logs/
e um gráfico da matriz de confusão no diretório results/
.
O arquivo src/data_drift.py
contém a análise de data drift, em que é possível verificar comparar a distribuição dos dados utilizados na produção com os dados novos.
Gera logs no diretório logs/
e um gráfico da matriz de confusão no diretório results/
.
Também são gerados artefatos no mlflow.
Para realizar o deploy local, execute:
mlflow models serve -m runs:/<run_id>/user_behavior_model --no-conda -p 8080
Após o deploy, é possível realizar um teste com o arquivo test/test_prediction.py
:
python test/test_prediction.py
Cada arquivo gera um log no diretório logs/
.
É possível utilizar o DVC para versionar os dados e os modelos. Para isso, execute:
dvc init
dvc add data/user_behavior_dataset_processed.csv
Para armazenar os dados no S3, primeiro crie um bucket no S3 (modifique o arquivo), executando:
python src/s3/create_bucket.py
Para deletar o bucket, execute:
python src/s3/delete_bucket.py
E então, execute:
dvc remote add -d myremote s3://<bucket-name>
dvc remote default myremote
dvc push
Para executar o pipeline de treinamento, execute:
dvc repro
-
Notebook: User Behavior Notebook
-
Dataset: User Behavior Dataset