Implemente, utilizando PyTorch ou Keras, um sistema de detecção de Parkinson utilizando Redes Neurais Profundas (Deep MLP) em Python. O sistema deve carregar os dados do Dataset Parkinson's (UCI), realizar pré-processamento e, obrigatoriamente, realizar experimentos variando a profundidade da rede (número de camadas ocultas). Todos os resultados e parâmetros dos experimentos devem ser registrados e comparados utilizando o MLflow.
Materiais para você usar como base para o desenvolvimento
Estrutura, regras e requisitos do projeto
Utilizar um modelo Multilayer Perceptron (MLP) profundo para realizar uma tarefa de classificação binária no Dataset Parkinson's (UCI) e instrumentar o código com MLflow.
Treinar diferentes arquiteturas de MLP (com pelo menos 2 camadas ocultas) para classificar se um paciente tem Parkinson (status = 1) ou é saudável (status = 0). O objetivo secundário, mas igualmente importante, é utilizar o MLflow para logar os hiperparâmetros (número de camadas, neurônios, learning rate) e as métricas de avaliação, permitindo a comparação entre uma rede rasa e redes mais profundas.
Dataset clássico de aprendizado de máquina, ideal para introdução a tarefas de classificação e redes neurais.
parkinsons.data).A tabela abaixo descreve as features (entradas) e a variável alvo (saída):
| Atributo | Descrição | Variável |
|---|---|---|
name | Identificador ASCII do paciente (Deve ser removido) | (Ignorar) |
MDVP:Fo(Hz) | Frequência vocal fundamental média | Entrada |
MDVP:Fhi(Hz) | Frequência vocal fundamental máxima | Entrada |
MDVP:Flo(Hz) | Frequência vocal fundamental mínima | Entrada |
Jitter, RAP, PPQ, DDP | Várias medidas de variação na frequência | Entrada |
Shimmer, APQ, DDA | Várias medidas de variação na amplitude | Entrada |
NHR, HNR | Medidas da proporção de ruído para tom | Entrada |
RPDE, D2 | Medidas de complexidade dinâmica não linear | Entrada |
DFA | Análise de flutuação fractal | Entrada |
spread1, spread2, PPE | Medidas de variação da frequência fundamental | Entrada |
status | Estado de saúde (1 = Parkinson, 0 = saudável) | Alvo (Saída) |
parkinsons.data ou parkinsons.csv).name.run no MLflow.num_layers, neurons_per_layer, learning_rate, optimizer.accuracy, precision, recall, f1_score e loss.Entrada -> 64 -> 32 -> 16 -> Saída).mlflow.log_param() e mlflow.log_metric().ReLU ou LeakyReLU.Sigmoid (para probabilidade binária) associada a uma perda binária.BCELoss ou BCEWithLogitsLoss.pip install mlflow) e importe as bibliotecas.name) e escalone os dados. Divida em Treino/Teste.with mlflow.start_run():.mlflow ui (se estiver local) para visualizar os resultados ou verifique os logs no próprio notebook se estiver no Colab/Kaggle.Após concluir o desafio, você deve enviar a URL do seu código no GitHub para a plataforma.
Além disso, que tal fazer um post no LinkedIn mostrando um print da interface do MLflow comparando seus modelos e compartilhando seus insights sobre redes profundas?
Feito com 💜 por Rocketseat 👋
Utilizar um modelo Multilayer Perceptron (MLP) profundo para realizar uma tarefa de classificação binária no Dataset Parkinson's (UCI) e instrumentar o código com MLflow.
Treinar diferentes arquiteturas de MLP (com pelo menos 2 camadas ocultas) para classificar se um paciente tem Parkinson (status = 1) ou é saudável (status = 0). O objetivo secundário, mas igualmente importante, é utilizar o MLflow para logar os hiperparâmetros (número de camadas, neurônios, learning rate) e as métricas de avaliação, permitindo a comparação entre uma rede rasa e redes mais profundas.
Dataset clássico de aprendizado de máquina, ideal para introdução a tarefas de classificação e redes neurais.
parkinsons.data).A tabela abaixo descreve as features (entradas) e a variável alvo (saída):
| Atributo | Descrição | Variável |
|---|---|---|
name | Identificador ASCII do paciente (Deve ser removido) | (Ignorar) |
MDVP:Fo(Hz) | Frequência vocal fundamental média | Entrada |
MDVP:Fhi(Hz) | Frequência vocal fundamental máxima | Entrada |
MDVP:Flo(Hz) | Frequência vocal fundamental mínima | Entrada |
Jitter, RAP, PPQ, DDP | Várias medidas de variação na frequência | Entrada |
Shimmer, APQ, DDA | Várias medidas de variação na amplitude | Entrada |
NHR, HNR | Medidas da proporção de ruído para tom | Entrada |
RPDE, D2 | Medidas de complexidade dinâmica não linear | Entrada |
DFA | Análise de flutuação fractal | Entrada |
spread1, spread2, PPE | Medidas de variação da frequência fundamental | Entrada |
status | Estado de saúde (1 = Parkinson, 0 = saudável) | Alvo (Saída) |
parkinsons.data ou parkinsons.csv).name.run no MLflow.num_layers, neurons_per_layer, learning_rate, optimizer.accuracy, precision, recall, f1_score e loss.Entrada -> 64 -> 32 -> 16 -> Saída).mlflow.log_param() e mlflow.log_metric().ReLU ou LeakyReLU.Sigmoid (para probabilidade binária) associada a uma perda binária.BCELoss ou BCEWithLogitsLoss.pip install mlflow) e importe as bibliotecas.name) e escalone os dados. Divida em Treino/Teste.with mlflow.start_run():.mlflow ui (se estiver local) para visualizar os resultados ou verifique os logs no próprio notebook se estiver no Colab/Kaggle.Após concluir o desafio, você deve enviar a URL do seu código no GitHub para a plataforma.
Além disso, que tal fazer um post no LinkedIn mostrando um print da interface do MLflow comparando seus modelos e compartilhando seus insights sobre redes profundas?
Feito com 💜 por Rocketseat 👋
Use este checklist para ajudar a organizar a sua entrega
Confira os resultados esperados do projeto

Envie o projeto para ver a resolução
Ao enviar seu projeto, você poderá conferir os resultados esperados